繁体   English   中英

dockerfile 继承和 RUN 命令

[英]dockerfile inheritance and RUN commands

我正在尝试创建一个 dockerfile 来构建一个 LAMP 服务器,以便使用alpine-lamp底座进行开发。

FROM glats/alpine-lamp
ENV MYSQL_ROOT_PASSWORD=password
RUN apk add wget && \
    apk add php7-simplexml && \
    mysql -u root -ppassword -e "CREATE DATABASE IF NOT EXISTS mydb"

当我运行docker image build -t testing . 命令来构建我的图像我收到一个错误:

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

在“父”dockerfile 完成运行之前,我的 mysql 命令是否正在运行? 我已经能够删除这些行并启动容器,然后从 cli 运行相同的 mysql 命令,所以我认为父灯堆栈的 mysql 服务器部分没有完全运行。 有没有办法确保我的命令在父级之后运行?

在映像构建时,mysql 不会运行。 这就是您看到有关无法连接的错误消息的原因。

这种类型的东西不应该在构建时运行。 而是将数据库初始化放入入口点脚本中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM