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