1
與SO post about replicating UID/GID in container from host類似,但是如何與具有複製UID和GID的用戶構建圖像?最好是,你如何用dockerfile做到這一點?Dockerfile將主機用戶UID和GID複製到圖像
我可以用bash腳本做到這一點:
#!/bin/bash
# current uid and gid
curr_uid=`id -u`
curr_gid=`id -g`
# create bb.dockerfile:
cat <<EOF1> bb.dockerfile
FROM ubuntu:xenial-20170214
ARG UNAME=testuser
EOF1
echo ARG UID=${curr_uid} >> bb.dockerfile
echo ARG GID=${curr_gid} >> bb.dockerfile
cat <<EOF2>> bb.dockerfile
RUN groupadd -g \$GID \$UNAME
RUN useradd -m -u \$UID -g \$GID -s /bin/bash \$UNAME
USER \$UNAME
CMD /bin/bash
EOF2
docker build -f bb.dockerfile -t testimg .
這bash將產生一個泊塢窗文件以下,並建立它。
FROM ubuntu:xenial-20170214
ARG UNAME=testuser
ARG UID=1982
ARG GID=1982
RUN groupadd -g $GID $UNAME
RUN useradd -m -u $UID -g $GID -s /bin/bash $UNAME
USER $UNAME
CMD /bin/bash
我要求的是從dockerfile中刪除硬編碼的主機UID 1982和GID 1982。
它的作品!非常感謝! – minghua