2017-10-15 130 views
-2

使用Dockerfile将mysql-sever 5.7图像与ubuntu:16.04 (customized)合并。 构建图像时未指定- v自变量,mysql- server内部容器启动成功。Docker容器上的Mysql服务器

但对于容器持久性,使用时- v with/my own/ hostdirectory:/var/lib/mysql,然后mysql- server没有运行命令,service mysql restart当容器本身内部开始...... 请回答如果任何人有关于它的想法。

Dockerfile:

从Ubuntu的:16.04 运行apt-get -y更新& & \ apt-get的-y DIST升级& & \ apt-get的-y的autoremove & & \ apt-get的-y清除 RUN echo“mysql-server-5.7 mysql-server/root_password password root”| debconf-set-selections RUN echo“mysql-server-5.7 mysql-server/root_password_again password root”| debconf的设置,选择 运行apt-get -y -f安装mysql-服务器5.7 EXPOSE 3306

感谢

回答

0

有用于安装的MySQL数据目录中至少有两个要求的工作:

  1. 它必须是可读可写的MySQL过程
  2. 它要么包含有效数据的MySQL或容器中被初始化引导

处理这两个问题的最佳方法是使用适当的入口点构建映像,这将确保mysql数据目录的有效权限并在需要时执行初始化。

请看看MySQL官方形象是如何进行安装MySQL数据目录的护理:https://github.com/docker-library/mysql/blob/master/5.7/docker-entrypoint.sh#L80-L200

+0

谢谢。我做到了,但仍未解决。 – Jason

+0

mysql容器中的mysql用户有uid(104)。 – Jason

+0

你可以附加你使用的Dockerfile吗? –