Essayez d'exécuter l'image mysql 5.7 avec l'indicateur datadir et incluez le script bash dans CMD.
CMD ["--datadir=/data ; sh db_translations.sh"]
Ce qui finit par arriver, c'est que le conteneur s'exécute et crée un fichier nommé data 的文件夹; sh db_translations.sh
pour MySQL. Avez-vous une idée de pourquoi cela se produit ?
Alors que de nombreux conteneurs le feront
bash
/sh
作为ENTRYPOINT
并且这可以工作,但对于 mysql 容器来说,>ENTRYPOINT
已经是一个脚本,它只接受提供的CMD
,并且不会以脚本形式重新评估
.Voir l'utilisation de
/docker-entrypoint-initdb.d
comme emplacement de script pour chaque document - https://hub.docker.com/_/mysql, bien que vous deviez peut-être restructurer vos scripts et vos environnements.