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