无法用数据容器创builddocker mysql
我试图创build一个mysql容器,它可以使用“ volume-from
”数据容器。我使用dockerfile/mysql
,而数据卷来自于Dockerfile:
FROM busybox VOLUME /var/lib/mysql CMD ["true"]
我可以用docker run -d dockerfile/mysql
启动一个简单的mysql守护进程,但是当连接到一个只有数据的卷时,(无论是否使用本地卷的“ -v
”),它将会失败:
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
我不知道要解决这个问题,有什么build议吗?
谢谢 :)
这可能是因为mysql用户没有访问卷的权限。
但是没有必要这样做。 只需使用mysql映像创build卷,那么所有的权限将是正确的,即:
docker run --name data-container dockerfile/mysql echo "MySQL data container" docker run -d --name db --volumes-from data-container dockerfile/mysql
我使用run而不是create来防止入口脚本需要运行和configuration,但是会在echo之后立即退出。 因为你已经下载了mysql映像,你的数据容器将不会占用任何额外的空间,所以busybox映像并没有保存任何东西。
顺便说dockerfile/mysql
, dockerfile/mysql
不是官方的MySQL镜像(官方的只是mysql
)。