我创建的泊坞窗到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.
堆栈跟踪完整
任何建议?
该码头工人守护进程将执行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
你需要弄清楚为什么MySQL是没有启动。 登录到环境中,尝试手动启动MySQL,看看是什么错误。
你有没有考虑对MySQL官方泊坞窗图像中的一个基础的形象? https://registry.hub.docker.com/_/mysql/