修改docker容器用户为宿主机用户

最后发布时间 : 2025-02-14 15:09:34 浏览量 :

直接修改docker用户

docker run --rm -it -p 60002:60000 \
    -e USER_ID=1011 -e GROUP_ID=1011 \
    --user 0:0  \
    -v /home/shanjun/workspace/pdf-dev:/opt \
    --entrypoint /opt/entrypoint.sh \
    registry.cn-wulanchabu.aliyuncs.com/minebiomeapp/puppeteer:1.0 bash

entrypoint.sh内容如下:

#!/bin/sh
RUN chmod -R  777 /home/pptruser 
useradd   -s /bin/bash shanjun -d /home/pptruser 
usermod -u $USER_ID  shanjun
groupmod -g $GROUP_ID  shanjun
su -l shanjun  -c "$@"

注意上面useradd命令将用户家目录指定到了/home/pptruser,因此需要添加RUN chmod -R 777 /home/pptruser

使用dockerfile修改容器用户

FROM registry.cn-wulanchabu.aliyuncs.com/minebiomeapp/puppeteer
USER root
RUN chmod -R  777 /home/pptruser 
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

打包镜像

docker build . -t registry.cn-wulanchabu.aliyuncs.com/minebiomeapp/puppeteer:1.0

运行容器

docker run --rm -it -p 60002:60000 \
    -e USER_ID=1011 -e GROUP_ID=1011 \
    -v /home/shanjun/workspace/pdf-dev:/opt \
    registry.cn-wulanchabu.aliyuncs.com/minebiomeapp/puppeteer:1.0 bash