6

在 Windows 10 家庭版 Docker 19.03 上使用 Docker 工具箱,我们创建了一个docker-compose.yml并添加了一个 JSON 格式的机密文件,它在 Mac 系统上运行良好,但在 Windows 10 家庭版中无法运行。

运行后报错docker-compose up

ERROR: for orthancserver  Cannot create container for service orthanc: invalid mount config for type 
"bind": invalid mount path: 'C:/Users/ABC/Desktop/Project/orthanc.json' mount path must be absolute

码头工人-compose.yml

version: "3.7"

services: 
    orthanc:
        image: jodogne/orthanc-plugins:1.6.1
        command: /run/secrets/
        container_name: orthancserver
        restart: always
        ports: 
            - "4242:4242"
            - "8042:8042"
        networks: 
            - mynetwork
        volumes: 
            - /tmp/orthanc-db/:/var/lib/orthanc/db/
        secrets:
            - orthanc.json    
    dcserver:
        build: ./dc_node_server
        depends_on:
            - orthanc
        container_name: dcserver
        restart: always
        ports: 
            - "5001:5001"
        networks: 
            - mynetwork
        volumes: 
            - localdb:/database    
volumes:
    localdb:
        external: true
networks: 
    mynetwork:
        external: true
secrets:
    orthanc.json:
        file: orthanc.json

orthanc.json文件保存在docker-compose.yml 旁边

4

1 回答 1

0

使用 docker 工具箱找到了 Windows 10 家庭版的替代解决方案。正如@Schwarz54 评论的那样,文件共享与 Dockerized Orthanc 服务器的 docker volume 配合得很好。

添加共享文件夹:

  1. 打开 Oracle VM 管理器
  2. 转到默认VM的设置
  3. 单击共享文件夹
  4. 将 C:\ 驱动器添加到列表中

编辑 docker-compose.yml 以通过卷将配置文件传输到 Orthanc

version: "3.7"

services: 
    orthanc:
        image: jodogne/orthanc-plugins:1.6.1
        command: /run/secrets/
        container_name: orthancserver
        restart: always
        ports: 
            - "4242:4242"
            - "8042:8042"
        networks: 
            - mynetwork
        volumes: 
            - /tmp/orthanc-db/:/var/lib/orthanc/db/
            - /c/Users/ABCUser/Desktop/Project/orthanc.json:/etc/orthanc/orthanc.json:ro
    dcserver:
        build: ./dc_node_server
        depends_on:
            - orthanc
        container_name: dcserver
        restart: always
        ports: 
            - "5001:5001"
        networks: 
            - mynetwork
        volumes: 
            - localdb:/database    
volumes:
    localdb:
        external: true
networks: 
    mynetwork:
        external: true
于 2020-05-21T14:47:03.140 回答