无法使用纯数据容器创建 docker mysql
Can't create a docker mysql with data-only container
我正在尝试创建一个 mysql 容器,它可以使用“volume-from
”一个仅数据 container.I 使用 dockerfile/mysql
,并且数据-只有卷来自 Dockerfile :
FROM busybox
VOLUME /var/lib/mysql
CMD ["true"]
我可以用 docker run -d dockerfile/mysql
启动一个简单的 mysql 守护程序,但是当连接到仅数据卷时,(无论“-v
”是否有本地卷),它'll 会失败:
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
我不知道如何解决这个问题,有什么提示吗?
谢谢:)
可能是因为mysql用户没有访问该卷的权限。
但是没有必要这样做。只需使用 mysql 图像创建卷,然后所有权限都是正确的,即:
docker run --name data-container dockerfile/mysql echo "MySQL data container"
docker run -d --name db --volumes-from data-container dockerfile/mysql
我使用 运行 而不是创建,以防入口点脚本需要 运行 和配置东西,但它会在回显后立即退出。因为您已经下载了 mysql 图像,所以您的数据容器不会占用任何额外的 space,所以 busybox 图像不会为您节省任何东西。
顺便说一句,dockerfile/mysql
不是官方的 MySQL 图片(官方的只是 mysql
)。
我正在尝试创建一个 mysql 容器,它可以使用“volume-from
”一个仅数据 container.I 使用 dockerfile/mysql
,并且数据-只有卷来自 Dockerfile :
FROM busybox
VOLUME /var/lib/mysql
CMD ["true"]
我可以用 docker run -d dockerfile/mysql
启动一个简单的 mysql 守护程序,但是当连接到仅数据卷时,(无论“-v
”是否有本地卷),它'll 会失败:
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
我不知道如何解决这个问题,有什么提示吗?
谢谢:)
可能是因为mysql用户没有访问该卷的权限。
但是没有必要这样做。只需使用 mysql 图像创建卷,然后所有权限都是正确的,即:
docker run --name data-container dockerfile/mysql echo "MySQL data container"
docker run -d --name db --volumes-from data-container dockerfile/mysql
我使用 运行 而不是创建,以防入口点脚本需要 运行 和配置东西,但它会在回显后立即退出。因为您已经下载了 mysql 图像,所以您的数据容器不会占用任何额外的 space,所以 busybox 图像不会为您节省任何东西。
顺便说一句,dockerfile/mysql
不是官方的 MySQL 图片(官方的只是 mysql
)。