docker中macOS中卷的相对路径绑定确实失败

时间:2019-01-23 08:15:03

标签: macos docker path docker-compose volumes

我正在使用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文件的相对路径吗?

任何人都知道问题出在哪里吗?我真的很困惑。

预先感谢

2 个答案:

答案 0 :(得分:0)

我认为我确实找到了解决自己问题的方法。

要进行双向绑定,您必须使用:

$PWD

在主机路径内部。

就我而言:

  volumes:
      - "$PWD/bla:/usr/src/html/bla"

此后它确实起作用。这是一个好的解决方案,还是会产生我不知道的任何问题?

答案 1 :(得分:0)

您可以使用相对路径,

-context