错误启动MySQL泊坞窗(Error start mysql docker)

2019-10-23 16:03发布

我创建的泊坞窗到MySQL的图像安装模式,但它给错误启动mysql。

我Dockerfile

发生了错误的Dockerfile时的处理和第25行:

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)

我发现,因为MySQL没有运行发生错误。 下面的搬运工打印旋转22行:

bin boot dev etc home lib lib64 media mnt opt proc root run sbin scripts srv sys tmp usr var MySQL is stopped.

堆栈跟踪完整

任何建议?

Answer 1:

该码头工人守护进程将执行RUN一个命令一个和提交的结果,似乎你的MySQL服务状态不承诺图像。 为了解决这个问题,你可以尝试以下方法

  • 将所有命令到一个RUN命令
    RUN echo $(service mysql restart) && echo $(service mysql status) && sudo mysql -uroot -pmysql_pass -e "CREATE DATABASE wordpress;" && sudo mysql -uroot -pmysql_pass -e "CREATE USER 'wordpressuser'@'%';" && sudo mysql -uroot -pmysql_pass -e "SET PASSWORD FOR 'wordpressuser'@'%'= PASSWORD('${mysql_pass}');" && sudo mysql -uroot -pmysql_pass -e "GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'%'; FLUSH PRIVILEGES;"

  • 在初始化你的mysql entrypoint有一个bash脚本。

init_mysql.sh

#!/bin/sh
sudo mysql -uroot -pmysql_pass -e "CREATE DATABASE wordpress;"
sudo mysql -uroot -pmysql_pass -e "CREATE USER 'wordpressuser'@'%';"
sudo mysql -uroot -pmysql_pass -e "SET PASSWORD FOR 'wordpressuser'@'%'= PASSWORD('${mysql_pass}');"
sudo mysql -uroot -pmysql_pass -e "GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'%'; FLUSH PRIVILEGES;"

并添加以下几行dockerfile

ADD init_mysql.sh /
RUN \
  cd / \
  chmod 777 init_mysql.sh

CMD ./init_mysql.sh


Answer 2:

你需要弄清楚为什么MySQL是没有启动。 登录到环境中,尝试手动启动MySQL,看看是什么错误。

你有没有考虑对MySQL官方泊坞窗图像中的一个基础的形象? https://registry.hub.docker.com/_/mysql/



文章来源: Error start mysql docker