docker部署mysql的问题:带有表及数据的mysql容器,打包成镜像迁移之后,数据丢失
这里给出一个解决方法:
思想:在创建镜像的时候就要修改数据存放的位置。然后启动它。然后正常的建立数据库,commit。这样就好啦!!!
创建镜像,编写Dockerfile:
FROM mysql:latest
RUN cp -r /var/lib/mysql /var/lib/mysql-no-volume
CMD ["--datadir", "/var/lib/mysql-no-volume"]
然后构建:
docker build . -t my-mysql
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -it my-mysql