相关疑难解决方法(0)

管理Docker共享卷权限的(最佳)方法是什么?

我一直在玩Docker一段时间,并在处理持久数据时继续寻找相同的问题.

创建我Dockerfile暴露量或使用--volumes-from安装我的容器内的主文件夹.

我应该对主机上的共享卷应用哪些权限?

我可以想到两个选择:

  • 到目前为止,我已经给了每个人读/写访问权限,所以我可以从Docker容器写入该文件夹.

  • 将用户从主机映射到容器,这样我就可以分配更细化的权限.不确定这是可能的,但没有找到太多关于它.到目前为止,我所能做的就是以某个用户身份运行容器:docker run -i -t -user="myuser" postgres但是此用户的UID与我的主机不同myuser,因此权限不起作用.此外,我不确定映射用户是否会带来一些安全风险.

还有其他选择吗?

你们这些人/女士如何应对这个问题?

docker

328
推荐指数
9
解决办法
23万
查看次数

启动 jenkins 容器但是遇到权限被拒绝,尽管我已经为该卷运行了“chown”

我在我的 MacBook 终端上。我尝试在我的本地机器上启动并运行 jenkins 容器。

我首先创建了一个 docker-compose.yml :

version: '3'
services:
  jenkins:
    container_name: jenkins
    image: jenkins/jenkins
    ports:
      - "8080:8080"
    volumes:
      - $PWD/jenkins_home:/var/jenkins_home
    networks:
      - net
networks:
  net:
Run Code Online (Sandbox Code Playgroud)

正如您在本volumes节中看到的,我已将jenkins_home当前目录下的文件夹定义为 jenkins 数据的卷。

然后在我机器的当前目录下,我创建了一个名为jenkins_home. 这是我当前的目录:

-rw-r--r--  1 john 1349604816  220 Sep  4 00:08 docker-compose.yml
drwxr-xr-x  2 john 1349604816   64 Sep  4 00:06 jenkins_home
Run Code Online (Sandbox Code Playgroud)

如您所见,我需要更改jenkins_home文件夹的所有权,以使 jenkins 容器能够在其中写入数据(因为 uid 不是 1000)。所以,我执行了命令:

sudo chown 1000:1000 jenkins_home/

然后,我当前的目录如下所示:

-rw-r--r--  1 john  1349604816  220 Sep  4 00:08 docker-compose.yml
drwxr-xr-x  2 …
Run Code Online (Sandbox Code Playgroud)

macos jenkins docker docker-compose

6
推荐指数
1
解决办法
356
查看次数

标签 统计

docker ×2

docker-compose ×1

jenkins ×1

macos ×1