无根Docker:在没有sudo的情况下将文件写入卷装载时,权限被拒绝
在没有sudo权限的情况下(通过ssh)在容器中无法写入装入的卷。装载的文件夹是主机用户在主机上的主文件夹。我正在运行一个无根docker守护进程 我执行了以下步骤来启动容器:无根Docker:在没有sudo的情况下将文件写入卷装载时,权限被拒绝,docker,file-permissions,docker-volume,rootless,Docker,File Permissions,Docker Volume,Rootless,在没有sudo权限的情况下(通过ssh)在容器中无法写入装入的卷。装载的文件夹是主机用户在主机上的主文件夹。我正在运行一个无根docker守护进程 我执行了以下步骤来启动容器: 我已经按照你的指示建立了一个无根码头工人 使用以下命令生成Dockerfile(如下所示): docker build--build arg USER\u ID=$(ID-u)--build arg GROUP\u ID=$(ID-g)--build arg USER\u NAME=USER--build arg US
drwxrwxrwx 6 gdekkers gdekkers 4096 May 25 21:10 .
drwxr-xr-x 14 gdekkers gdekkers 4096 May 25 21:10 ..
drwxrwxrwx 3 gdekkers gdekkers 4096 Apr 30 13:01 SomeFolder
drwxr-xr-x 2 100999 100999 4096 May 25 21:08 test
drwxr-xr-x 2 100999 100999 4096 May 25 21:10 test2
这是不方便的,因为我需要定期申请chown。它似乎与无根Docker使用的名称空间有关。如何确保创建的文件与主机上的用户匹配
Dockerfile:
FROM nvidia/cuda:11.2.2-cudnn8-runtime-ubuntu20.04
# Input arguments
ARG USER_ID
ARG GROUP_ID
ARG USER_NAME
ARG USER_PASS
# environment variables
ARG DEBIAN_FRONTEND="noninteractive"
ENV TZ Europe/Belgium
# Install some basic utilities and clean up
RUN apt-get update && apt-get install -y \
nano \
ca-certificates \
sudo \
libx11-6 \
openssh-server \
&& rm -rf /var/lib/apt/lists/*
# Create a sudo user
RUN groupadd --gid $GROUP_ID user
RUN useradd -rm -d /home/$USER_NAME -s /bin/bash --uid $USER_ID --gid $GROUP_ID -G sudo $USER_NAME
RUN usermod -aG sudo $USER_NAME
RUN echo $USER_NAME:$USER_PASS | chpasswd
# Start ssh service
RUN service ssh start
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
谢谢