我有一个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中的卷装载会更改这些权限,并且主机上的权限通常会复制到容器上。但是:
-
这个
/run/host-services/ssh-auth.sock
是Docker所说的
神奇的体积
因此,它不存在于您的文件系统中,因此无法查看其权限。
-
我担心更改的权限
/运行/host services/sh-auth.sock
不要干扰我主机上的Docker设置。
有什么想法吗?