启动mysql服务器后Docker容器死亡

时间:2018-09-11 19:11:58

标签: mysql docker

我正在尝试从ubuntu基础构建一个sql docker容器。我构建图像并运行它。并能够确认它正在运行,但是很快就死了。我如何保持它的生命?

Docker文件

FROM ubuntu

RUN apt-get update && \
    apt-get install -y mysql-server
COPY run.sh /sbin/run.sh
COPY createDBTable.sql /
RUN chmod 755 /sbin/run.sh
CMD ["./sbin/run.sh"]

run.sh

#!/bin/sh
service mysql start
cat createDBTable.sql | mysql -u root
echo "show databases" | mysql -u root

docker run的输出

 * Starting MySQL database server mysqld
   ...done.
Database
information_schema
<new table>
mysql
performance_schema
sys

2 个答案:

答案 0 :(得分:1)

我使用上面提到的dockerfile创建了一个docker容器。我不是使用-d标志在后台运行它,而是使用-it以交互模式启动它。一段时间后,容器停止并显示以下错误-

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

您可以尝试各种方法来使用Google摆脱上述错误。

答案 1 :(得分:0)

如果容器有问题,则无法使其存活。我建议运行以下命令:

docker logs mssql_container_name


用容器名称替换“ mssql_container_name”。如果没有得到名称,请键入:docker ps -a并在那里获得名称。如果您愿意,可以在此处将答案发布到docker日志中,也许我们可以为您提供帮助。但这是您找出发生在容器中的事情的方式。