Docker 不支持使用 Docker 工具箱在 Windows 家庭系统上存储机密

151*_*291 6 docker docker-compose docker-toolbox docker-for-windows orthanc-server

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

运行后报错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
Run Code Online (Sandbox Code Playgroud)

docker-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
Run Code Online (Sandbox Code Playgroud)

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

151*_*291 0

找到了 Windows 10 Home 的替代解决方案,带有 docker toolbox。正如 @Schwarz54 所评论的,文件共享与 Dockerized Orthanc 服务器的 docker 卷配合得很好。

添加共享文件夹:

  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
Run Code Online (Sandbox Code Playgroud)