代码之家  ›  专栏  ›  技术社区  ›  scott_m

docker compose更改ssh代理的权限

  •  0
  • scott_m  · 技术社区  · 2 年前

    我有一个Dockerfile,其中包括:

     RUN touch /ssh-agent
     RUN chmod 666 /ssh-agent
    

    docker-compose 文件,其中包括:

        build:
            dockerfile: Dockerfile
            ssh:
                - default
        restart: always
        user: "1001" 
        volumes:
            - type: bind
              source: /run/host-services/ssh-auth.sock
              target: /ssh-agent
    

    问题是的权限 /ssh-agent 当我通过docker compose运行它时,容器内部的被更改为755,这意味着当我试图拉取repo时,非根用户的权限被拒绝(因为它显然需要写权限)。

    当我以root身份登录到容器,并将权限更改为666,然后以非root身份重新登录时,一切都正常。

    当我运行容器时不使用 码头工人组成 ,则权限保留为666。

    很明显,docker compose中的卷装载会更改这些权限,并且主机上的权限通常会复制到容器上。但是:

    1. 这个 /run/host-services/ssh-auth.sock 是Docker所说的 神奇的体积 因此,它不存在于您的文件系统中,因此无法查看其权限。
    2. 我担心更改的权限 /运行/host services/sh-auth.sock 不要干扰我主机上的Docker设置。

    有什么想法吗?

    0 回复  |  直到 2 年前