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