[英]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.