我想弄一个带有数据的镜像,这样就可以在不同的环境(主机)中 pull 下来这个镜像就会有完整的数据了.我从 docker mysql5.5 下载了一个dockerfile 文件,在本地 build 之后生成了一个 image . 后来基于这个 image 创建了一个 mysql5.5 的容器, 并且基于在这个容器里面导入了一个数据库.导入数据是成功,容器也正常运行.接着我对这个容器 做了 commmit 的操作,并且打了 tag ,推送到 docker.hub 了.但是我再从 docker hub 中 pull 这个 image . 发现基于这个 image 创建的容器,只有一个空的 mysql . 里面没有我导入的那个数据库.我是遗漏了什么么?我的操作记录为:可以看到新的 image 是350MB 的.问题就出现这里,我再从我 pull 下来的镜像也是 350M 的.但是这个 镜像创建的容器 却是空数据库的.如果我这个方式不行,那么有什么办法能实现我的目的么?
2 回答
12345678_0001
TA贡献1802条经验 获得超5个赞
从dockerfile可以知道,MySQL的数据写到了
VOLUME /var/lib/mysql
。数据不应该存放在容器,可以在启动容器时挂载本地目录到
/var/lib/mysql
。
- 2 回答
- 0 关注
- 3396 浏览
添加回答
举报
0/150
提交
取消