Joe*_*oeG 10 docker docker-compose
我通过docker-compose文件启动六个或七个容器.一个容器造成了重大问题!以下是相关部分:
services:
...
main-app:
image: mycompany/sys:1.2.3
container_name: "main-app-container"
ports:
- "8080:8080"
- "8009"
volumes:
- db_data:/var/lib/home/data:rw
- /opt/mycompany/sys/config:/opt/mycompany/sys/config:rw
networks:
- systeminternal
hostname: "mylocalhost.company.com"
volumes:
db_data:
driver: local
networks:
systeminternal:
Run Code Online (Sandbox Code Playgroud)
当main-app-container通过docker-compose up(作为root用户)启动时,已提交容器中的许多目录中的文件系统权限都将更改为root!这是在Ubuntu 14.04,Docker 1.12.x上运行的(不确定是哪个x).
我们有另一个系统,我们作为本地用户运行一切.当我们将shell写入该容器时,所有文件权限都是我们的本地用户,它在提交时是所有权.从谷歌搜索,我很确定它与卷有关,但找不到任何确定的东西.欢迎任何帮助!
这是主机挂载的预期行为,也就是说,内部的所有内容都/opt/mycompany/sys/config将具有与主机上的文件相同的 UID/GID - 这是设计使然。
将文件更改为主机上所需的 uid/gid:chown -R 123:321 /opt/mycompany/sys/config或者将容器设置为乐意使用主机的 uid/gid。
它与 docker-compose 无关,当你使用时也会发生同样的情况
docker run -v /opt/mycompany/sys/config:/opt/mycompany/sys/config mycompany/sys:1.2.3
| 归档时间: |
|
| 查看次数: |
1012 次 |
| 最近记录: |