无法使用仅数据容器创建docker mysql

时间:2015-02-27 10:18:32

标签: mysql persistence docker

我正在尝试创建一个mysql容器,它可以使用“volume-from”一个仅数据容器。我使用dockerfile/mysql,而仅数据卷来自Dockerfile:< / p>

FROM busybox
VOLUME /var/lib/mysql
CMD ["true"]

我可以使用docker run -d dockerfile/mysql启动一个简单的mysql守护程序,但是当与仅数据卷连接时(无论“-v”是否具有本地卷),它将会失败:< / p>

docker create --name box -v {local}:/var/lib/mysql {my-busybox-image}
docker run -d --name db --volume-from box dockerfile/mysql 

docker logs db消息在

下面
150227 09:56:10 mysqld_safe Logging to syslog.
150227 09:56:10 mysqld_safe Starting mysqld daemon with databases from     /var/lib/mysql
150227 09:56:11 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

我使用MAC,使用boot2docker,而docker version是:

Client version: 1.3.0
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): c78088f
OS/Arch (client): darwin/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef

我不知道解决问题,有什么提示吗?

谢谢:)

1 个答案:

答案 0 :(得分:2)

这可能是因为mysql用户无权访问该卷。

但没有必要这样做。只需使用mysql映像创建卷,然后所有权限都是正确的,即:

docker run --name data-container dockerfile/mysql echo "MySQL data container"
docker run -d --name db --volumes-from data-container dockerfile/mysql 

我使用run而不是create,以防入口点脚本需要运行和配置,但它会在echo之后立即退出。因为您已经下载了mysql映像,所以您的数据容器不会占用任何额外空间,因此busybox映像不会为您节省任何内容。

顺便说一句,dockerfile/mysql不是官方的MySQL图片(官方图片只是mysql)。