Virtualbox Docker-机器"invalid volume specification"

Virtualbox Docker-Machine "invalid volume specification"

我尝试了不同的方法将 COMPOSE_CONVERT_WINDOWS_PATHS 设置为 1,但我不断收到以下错误:

ERROR: FOR docker_test Cannot create container for service test: 
invalid volume specification: 
'C:\Users\my_user\test\cert_file.pfx:/root/.aspnet/https/https_cert.pfx:ro'

到目前为止,我尝试了所有我能在网上找到的东西。这些是我的设置。谁能发现问题?我在 Windows 机器上使用 Docker-toolbox 而不是 Docker for Windows,因为我也使用 Virtualbox(而且我不能 运行 VT-x 和同时管理程序)。我想我一直收到这个错误,因为我可能必须在不同的地方设置这个环境变量。

最后一部分docker-compose.yml

   secrets:
      - source: cert
        target: /root/.aspnet/https/https_cert.pfx
secrets:
    cert:
        file: cert_file.pfx

config.yml (/Users/my_user/.docker/machine/machines/default/config.json)

HostOptions: {
    "Env": [
        "COMPOSE_CONVERT_WINDOWS_PATHS=1"
    ]
}

Powershell:

PS C:\> $env:COMPOSE_CONVERT_WINDOWS_PATHS=1

谁能发现这个问题?

Microsoft 的基本图像似乎与 Docker 工具箱有一些问题,请参阅 https://github.com/microsoft/DockerTools/issues/177#issuecomment-481332463。因此 docker-compose.yml 中用于将文件复制到容器的这些行不起作用:

   secrets:
      - source: cert
        target: /root/.aspnet/https/https_cert.pfx
secrets:
    cert:
        file: cert_file.pfx

错误有点不清楚,因为您认为问题是 COMPOSE_CONVERT_WINDOWS_PATHS 而不是。

解决这个问题的方法是用简单的卷替换线:

volumes:
    - ./cert_file.pfx:/root.aspnet/https/https_cert.pfx