您不希望在镜像构建过程中(在Dockerfile中)运行该镜像,因为有人在其上运行容器的主机通常 不是 您在其上构建镜像的主机。
解决此问题的一种方法是通过环境变量传递UID / GID信息:
docker run -e APP_UID=100 -e APP_GID=100 ...
然后
ENTRYPOINT在运行之前,编写一个包含以下内容的脚本
CMD:
useradd -c 'container user' -u $APP_UID -g $APP_GID appuserchown -R $APP_UID:$APP_GID /app/data



