我正在使用docker-compose,我想创建一个相对的两路径绑定。
Folder structure and path at the host machine:
/Users/username/Documents/Repos/docker-gulp-template/bla
docker-gulp-template
Dockerfile
docker-compose.yml
Bla (Folder)
Path structure inside the container:
/usr/src/html/bla
version: '3'
services:
bla:
command: /bin/bash
stdin_open: true
#tty: true
container_name: docker-gulp-template
#restart: always
build: .
ports:
- '80:3000'
volumes:
- "/bla:/usr/src/html/bla"
这确实导致错误。
ERROR: for docker-gulp-template Cannot start service bla: b'Mounts denied: \r\nThe path /bla\r\nis not shared from OS X and is not known to Docker.\r\nYou can configure shared paths from Docker -> Preferences... -> File Sharing.\r\nSee https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.\r\n.'
volumes:
- ".:/usr/src/html/bla"
这确实有用。
我确实找到了这个线程: Docker: Mounts denied. The paths ... are not shared from OS X and are not known to Docker
但是它根本没有帮助我。 我确实尝试将我的存储库文件夹添加到docker设置的文件共享选项卡中,但是不允许我添加该文件夹,因为它已经在/ Users组中。
路径是相对于docker-compose / docker文件的相对路径吗?
任何人都知道问题出在哪里吗?我真的很困惑。
预先感谢
答案 0 :(得分:0)
我认为我确实找到了解决自己问题的方法。
要进行双向绑定,您必须使用:
$PWD
在主机路径内部。
就我而言:
volumes:
- "$PWD/bla:/usr/src/html/bla"
此后它确实起作用。这是一个好的解决方案,还是会产生我不知道的任何问题?
答案 1 :(得分:0)
您可以使用相对路径,
-context