![](/img/trans.png)
[英]Docker : directory mapped in volume is not created with same user of host
[英]How to make docker volume locations on the host relative to working directory?
我有一个这样的工作树:
├── docker-compose.yml
├── folder1
│ ├── docker-compose.yml
│ └── volume1
│ └── source
└── volume
└── source
根 docker-compose.yml:
version: "3.4"
services:
service:
image: hello-world
volumes:
- ./volume/source:/volume/destination
command: sleep 180
folder1/docker-compose.yml:
version: "3.4"
services:
service1:
image: hello-world
volumes:
- ${PWD}/volume1/source:/volume1/destination
command:
- sleep 180
当我从根目录docker-compose -f docker-compose.yml -f folder1/docker-compose.yml config
时,我得到
services:
service:
command: sleep 180
image: hello-world
volumes:
- /home/user/repos/learn/dockerl-compose/volume/source:/volume/destination:rw
service1:
command:
- sleep 180
image: hello-world
volumes:
- /home/user/repos/learn/dockerl-compose/volume1/source:/volume1/destination:rw
version: '3.4'
如何使主机上绑定安装的位置相对于执行命令的位置?
你应该先写一个这样的脚本:
#!/bin/bash
SCRIPT_PATH=$(readlink -f $(dirname $0))
SCRIPT_PATH=${SCRIPT_PATH} docker-compose <YOUR_OWN_ARGUMENTS>
然后,在您的YAML中,您应该将${PWD}
替换为${SCRIPT_PATH}
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.