Versuchen Sie, das MySQL 5.7-Image mit dem Datadir-Flag auszuführen und das Bash-Skript in CMD einzubinden.
CMD ["--datadir=/data ; sh db_translations.sh"]
Was letztendlich passiert, ist, dass der Container ausgeführt wird und eine Datei mit dem Namen data 的文件夹; sh db_translations.sh
für MySQL erstellt. Irgendeine Idee, warum das passiert?
虽然许多容器都将
bash
/sh
作为ENTRYPOINT
并且这可以工作,但对于 mysql 容器来说,>ENTRYPOINT
已经是一个脚本,它只接受提供的CMD
,并且不会以脚本形式重新评估
。查看使用
/docker-entrypoint-initdb.d
作为每个文档的脚本位置 - https://hub.docker.com/_/mysql,尽管您可能需要重组脚本和环境。