簡體   English   中英

在遠程服務器上啟動 Docker 容器時用戶/組權限更改

[英]User/group permissions change when launching Docker container on remote server

我正在嘗試使用遠程服務器在 Docker 上運行實驗。 問題是我有腳本可以主動修改 Docker 容器中的配置文件來運行實驗,只有擁有文件的用戶/組才能這樣做(我在遠程服務器上沒有 root 訪問權限)。

在我的本地系統上,在不啟動 docker 容器的情況下訪問時,用戶/組權限是我的個人用戶。 一旦 docker 容器啟動,用戶/組就會通過配置更改為alice / alice ,如 Dockerfile 中所示。 但在遠程服務器上,即使在 docker 容器中啟動后,它仍顯示為 root / root。 有什么建議么?

在我為 Docker 構建/運行 shell 腳本中,我有以下幾行:

.
.
.
CURR_UID=$(id -u)
CURR_GID=$(id -g)

RUN_OPT="-u $CURR_UID:$CURR_GID --net=host --env DISPLAY=$DISPLAY \
--volume $XAUTHORITY:/home/alice/.Xauthority \
--volume /tmp/.X11-unix:/tmp/.X11-unix \
--privileged $MOUNT_DEVEL $MOUNT_LEARN \
--shm-size $SHM_SIZE $GPU_OPT $CONT_NAME \
-it $DETACH --rm $IMAGE_NAME:latest"

docker run $RUN_OPT
.
.
.

運行選項 -u $CURR_UID:$CURR_GID 應該將用戶/組權限設置為當前正在運行它的任何用戶/組。 在我的Dockerfile 中

.
.
.
# Working user
RUN groupadd --gid ${GROUP_ID} alice && \
    useradd -m -s /bin/bash -u ${USER_ID} -g ${GROUP_ID} alice && \
    echo "alice:alice" | chpasswd && adduser alice sudo
.
.
.

如果需要,我可以提供更多信息,我真的只需要任何幫助。 一直在這幾天。 請指教。 謝謝你。

在您的 docker 容器中,您可以使用指令設置有效用戶:

USER alice

它記錄在這里: https://docs.docker.com/engine/reference/builder/#user

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM