Docker的mysql官方图片
在这个Dockerfile中 ,创build了一个“mysql”用户,但是没有“USER mysql”指令。 那么为什么当你运行没有“-u”或“–user”的映像时,mysqld是以“mysql”而不是“root”的名义运行的呢?
如果你看Dockerfile和docker-entrypoint.sh
文件( 这里 ),你可以看到容器将会执行(除非你提供了一个differenct命令)
docker-entrypoint.sh mysqld
在那个脚本中,它会被执行
exec gosu mysql "$BASH_SOURCE" "$@"
( $@
是该脚本的参数,只有在这种情况下才是mysqld
)