2017-06-12 69 views
0

我是docker新手,我有两个运行在两个容器中的微服务,我想为它们创建简单的数据库。 我创造了它这样的:docker运行mysql的最佳方式

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的MySQL的主机上我的天堂没有新的东西 - 没有我从docker文件创建的数据库。我有什么问题吗?

我想有数据库存储在主机上的数据,但在docker容器中运行(这是很好的解决方案吗?)?如何正确地做到这一点?

+0

我认为,所有你需要做的是交换卷。第一条路径来自主机。 – Rumid

回答

1

您不应该需要docker exec来创建一个实例:容器应该已经有一个实例。

的文档中提到:

命令的-v /my/own/datadir:/var/lib/mysql部分从底层主机系统作为/var/lib/mysql在容器内,在那里的MySQL默认将写入其数据文件挂载/my/own/datadir目录

所以订单很重要。