Docker WSL2 上的卷
Docker Volumes on WSL2
当我尝试 运行 一个带有我在 WSL2 上创建的卷的容器时,它无法启动。
在完整的 Ubuntu 机器上使用完全相同的语法创建卷和容器工作得很好。
我做错了什么?
docker volume create ubu-vol
ubu-vol
docker run -it -d -v ubu-vol --name ubu-dev ubuntu /bin/bash
87ee4245f4022d1cf26da32fd701d768d449f679b4441b5bf734d834d9ccf190
docker: Error response from daemon: OCI runtime create failed: invalid mount {Destination:ubu-vol Type:bind Source:/var/lib/docker/volumes/123784ee61e4bc2a77f98e6574ae6c71c4cc7fa6f7e109ac55f8f115df07eba5/_data Options:[rbind]}: mount destination ubu-vol not absolute: unknown.
运行 未指定体积的容器在 WSL2 中工作正常。
docker run -it -d --name ubu-dev ubuntu /bin/bash
容器启动,我可以附加到它。
我也尝试过更具体地指定卷的路径(因为错误说它必须是绝对的),但我得到了相同的结果。
docker volume create \
--driver local \
--opt type=nfs \
--opt device=:/mnt/d/docker-vol \
ubu-vol
也许“绝对路径”的含义不同?
如果您有任何见解,我将不胜感激。
您的 --volume/-v
语法 doesn't look right。您没有指定应该将其安装在容器内部的路径。
尝试:
docker run -it -d -v "ubu-vol:/mnt/docker-ubu-vol" --name ubu-dev ubuntu /bin/bash
但还要考虑 Docker 建议使用较新的 --mount
选项:
docker run -it -d --mount "type=volume,src=ubu-vol,dst=/mnt/docker-ubu-vol" --name ubu-dev ubuntu /bin/bash
当我尝试 运行 一个带有我在 WSL2 上创建的卷的容器时,它无法启动。
在完整的 Ubuntu 机器上使用完全相同的语法创建卷和容器工作得很好。
我做错了什么?
docker volume create ubu-vol
ubu-vol
docker run -it -d -v ubu-vol --name ubu-dev ubuntu /bin/bash
87ee4245f4022d1cf26da32fd701d768d449f679b4441b5bf734d834d9ccf190 docker: Error response from daemon: OCI runtime create failed: invalid mount {Destination:ubu-vol Type:bind Source:/var/lib/docker/volumes/123784ee61e4bc2a77f98e6574ae6c71c4cc7fa6f7e109ac55f8f115df07eba5/_data Options:[rbind]}: mount destination ubu-vol not absolute: unknown.
运行 未指定体积的容器在 WSL2 中工作正常。
docker run -it -d --name ubu-dev ubuntu /bin/bash
容器启动,我可以附加到它。
我也尝试过更具体地指定卷的路径(因为错误说它必须是绝对的),但我得到了相同的结果。
docker volume create \
--driver local \
--opt type=nfs \
--opt device=:/mnt/d/docker-vol \
ubu-vol
也许“绝对路径”的含义不同?
如果您有任何见解,我将不胜感激。
您的 --volume/-v
语法 doesn't look right。您没有指定应该将其安装在容器内部的路径。
尝试:
docker run -it -d -v "ubu-vol:/mnt/docker-ubu-vol" --name ubu-dev ubuntu /bin/bash
但还要考虑 Docker 建议使用较新的 --mount
选项:
docker run -it -d --mount "type=volume,src=ubu-vol,dst=/mnt/docker-ubu-vol" --name ubu-dev ubuntu /bin/bash