如何在Docker容器中挂载Windows路径卷

时间:2020-11-12 16:26:11

标签: docker

当我使用docker run --rm -v C:\Python39:/mnt --entrypoint ls alpine -la /mnt将Windows路径安装到本地Windows Shell 中的容器中时,就可以了。但是,当我将Windows //var/run/docker.sock安装到容器中并尝试在该容器中运行以前的命令时,它将引发错误。

docker.errors.APIError: 500 Server Error: Internal Server Error ("invalid volume specification: 'C:\Python39:/mnt:ro'")

a.py

import docker
import os

print(os.environ["COMPOSE_CONVERT_WINDOWS_PATHS"])

c = docker.from_env()

output = c.containers.run("alpine", "-la /mnt",
entrypoint="ls", volumes={
    'C:\\Python39': {
        'bind': '/mnt',
        'mode': 'ro',
    }
})
print(output.decode())

Dockerfile

FROM python:3.9-alpine
RUN pip install docker
ENV COMPOSE_CONVERT_WINDOWS_PATHS=1
ADD a.py .
CMD ["python", "a.py"]
docker build . -t test
docker run docker run --rm -v //var/run/docker.sock:/var/run/docker.sock test

0 个答案:

没有答案