搜索

首页  >  问答  >  正文

Dockerfile CMD不支持mysql镜像的多个命令

尝试使用 datadir 标志运行 mysql 5.7 映像,并在 CMD 中包含 bash 脚本。

CMD ["--datadir=/data ; sh db_translations.sh"]

最终发生的是容器运行并为 mysql 创建一个名为 data 的文件夹; sh db_translations.sh。知道为什么会发生这种情况吗?

P粉217784586P粉217784586235 天前408

全部回复(1)我来回复

  • P粉071743732

    P粉0717437322024-03-31 09:06:30

    虽然许多容器都将 bash /sh 作为 ENTRYPOINT 并且这可以工作,但对于 mysql 容器来说, >ENTRYPOINT 已经是一个脚本,它只接受提供的 CMD,并且不会以脚本形式重新评估

    查看使用 /docker-entrypoint-initdb.d 作为每个文档的脚本位置 - https://hub.docker.com/_/mysql,尽管您可能需要重组脚本和环境。

    回复
    0
  • 取消回复