84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
嘗試使用 datadir 標誌執行 mysql 5.7 映像,並在 CMD 中包含 bash 腳本。
CMD ["--datadir=/data ; sh db_translations.sh"]
最終發生的是容器運行並為 mysql 建立一個名為 data 的資料夾; sh db_translations.sh。知道為什麼會發生這種情況嗎?
data 的資料夾; sh db_translations.sh
雖然許多容器都會bash /sh 作為ENTRYPOINT 並且這可以工作,但對於mysql 容器來說, >ENTRYPOINT 已經是一個腳本,它只接受提供的CMD,並且不會以腳本形式重新評估。
bash
sh
ENTRYPOINT
>ENTRYPOINT
CMD
評估
查看使用/docker-entrypoint-initdb.d 作為每個文件的腳本位置- https://hub.docker.com/_/mysql,儘管您可能需要重組腳本和環境。
/docker-entrypoint-initdb.d
雖然許多容器都會
bash
/sh
作為ENTRYPOINT
並且這可以工作,但對於mysql 容器來說,>ENTRYPOINT
已經是一個腳本,它只接受提供的CMD
,並且不會以腳本形式重新評估
。查看使用
/docker-entrypoint-initdb.d
作為每個文件的腳本位置- https://hub.docker.com/_/mysql,儘管您可能需要重組腳本和環境。