我是新来的docker,我有两个微服务运行在两个容器中,我想为它们创建简单的数据库。我是这样创造的:
docker run --net=kajsnetwork -d -e MYSQL_ROOT_PASSWORD='mypassword' -v /storage/mysql1/mysql-datadir:/var/lib/mysql mysql我使用
docker exec -it containernumber /bin/bash然后我创建了数据库..。但是,当我在主机上访问/var/lib/mysql时,我没有什么新的东西--没有从docker文件中创建的数据库。我出什么事了吗?
我希望拥有存储在主机上的数据的数据库,但是运行在一个码头容器中(这是一个好的解决方案吗?)怎样才能做好呢?
发布于 2017-06-12 06:18:10
docker选项-v /storage/mysql1/mysql-datadir:/var/lib/mysql表示您正在将主机目录/storage/mysql1/mysql-datadir作为容器的数据卷安装到/var/lib/mysql。
因此,如果从/var/lib/mysql容器中检查,您应该可以在主机机器中看到与/storage/mysql1/mysql-datadir相同的内容。
更多细节:https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-directory-as-a-data-volume
发布于 2017-06-12 06:17:34
不需要停靠exec就可以创建一个实例:容器应该已经有了一个实例。
医生提到:
命令的
-v /my/own/datadir:/var/lib/mysql部分将/my/own/datadir目录从底层主机系统挂载为容器内的/var/lib/mysql,MySQL默认情况下将写入其数据文件。
所以命令很重要。
https://stackoverflow.com/questions/44492468
复制相似问题