我在Mac OS上的tutum/mysql容器上安装卷时遇到问题。
我正在运行boot2docker 1.5
我跑的时候
docker run -v $HOME/mysql-data:/var/lib/mysql tutum/mysql /bin/bash -c "/usr/bin/mysql_install_db"
我收到这个错误
系统表安装失败!检查/ var / lib / mysql中的日志以获取更多信息。
运行上面的命令还会创建一个空的$ HOME / mysql-data / mysql文件夹。
当没有发生安装时,tutum / mysql容器可以顺利运行。
我已成功在nginx演示容器上安装了一个文件夹,这意味着boot2docker已正确设置以安装卷。
我猜这只是一个权限问题。要么在容器内找到mysql用户的uid,要么在chown
找到该用户的mysql-data目录,要么使用数据容器来容纳卷。
有关数据容器的更多信息,请参阅the official docs。
另请注意,当Dockerfile声明卷时,无论是否对-v
使用docker run
参数都会进行挂载 - 它只发生在Docker控制的主机上的目录(在/var/lib/docker
下)而不是您选择的目录中。
我也遇到了启动mysql docker容器的问题,错误“安装系统表失败”。 docker镜像上没有任何更改,我的机器或docker上没有最近的更新。我做的一件事就是在测试中使用可能占用超过5GB内存的图像。
清理悬空图像和卷后,我能像往常一样启动mysql镜像。
这个blog似乎有一个很好的指示,并解释了与docker清理的所有变化。