如何在Docker容器中装入Windows路径卷

如何在Docker容器中装入Windows路径卷,docker,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 ("inva

当我使用
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、 派克

Dockerfile

FROM python:3.9-alpine
RUN pip install docker
ENV COMPOSE_CONVERT_WINDOWS_PATHS=1
ADD a.py .
CMD ["python", "a.py"]

你试过用/替换所有\\和用/C替换C:吗?我想这是因为Windows上的docker cli使用了一个命名管道
\.\pipe\docker\u engine\u linux
不是
/var/run/docker.sock
@iLuvLogix我试过
C:///code>和
/C/
。他们也不工作。当您在contianer中使用
/c/
时,它将装载到Linux VM(docker机器)的rootfs上在Windows上。您是否尝试过将所有\\替换为/和C:with/C?我想这是因为Windows上的docker cli使用了命名管道
\.\pipe\docker\u engine\u linux
而不是
/var/run/docker.sock
@iLuvLogix我尝试过
C:///code>和
/C/
。他们也不工作。当您在控制器中使用
/c/
时,它将安装在Windows上Linux VM(docker机器)的rootfs上。
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