尝试使用 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,尽管您可能需要重组脚本和环境。