将文件夹安装到 Docker 图像会无限期卡住
The mounting a folder to a Docker image remains indefinitely stuck
我正在尝试将文件夹装载到 Ubuntu 20.04 中的 docker 图像:
(base) raphy@pc:~$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.tigergraph.com/tigergraph latest 6c55bb15e2a6 7 days ago 10.6GB
hello-world latest feb5d9fea6a5 6 weeks ago 13.3kB
(base) raphy@pc:~$ sudo docker run -t -i -v /home/raphy/ConceptNet/ 6c55bb15e2a6
它没有给出任何错误,但它会无限期地卡住
更新 1)
(base) raphy@pc:~$ sudo docker run -t -i -v /home/raphy
/ConceptNet:/6c55bb15e2a6/ConceptNet bash
Unable to find image 'bash:latest' locally
latest: Pulling from library/bash
a0d0a0d46f8b: Pull complete
ae2d64a5f3ef: Pull complete
1e5367194cc8: Pull complete
Digest:
sha256:91767623eb341f1717bb37b059e77e8de439c8044064808f6f9bfdc942e8d30c
状态:为 bash:latest 下载了较新的图像
bash-5.1#^C
我做错了什么?
以这种方式解决:
(base) raphy@pc:~$ sudo docker run -d -p 14022:22 -p 9000:9000 -p
14240:14240 --name tigergraph --ulimit nofile=1000000:1000000 -v
~/ConceptNet/:/home/tigergraph/myconceptnet -t
docker.tigergraph.com/tigergraph:latest
试试这个
-v, --volume=[host-src:]container-dest[:<options>]:
您的 docker 命令不足以 运行 tigergraph...这不是一个简单的 运行 命令就能完成的,请按照 https://docs.tigergraph.com/start/get-started/docker[=11= 处的说明进行操作]
您的意图是将主机上的本地路径绑定到容器,但您现在真正要做的是将新的本地空卷附加到容器上的 /home/raphy/ConceptNet/
,只需执行:
docker exec {your container id} ls /home/raphy/ConceptNet/
查看路径是否在您的容器内创建。
你也可以使用:
docker inspect {your container id} | less
并检查“装载”部分以查看您真正附加到容器的卷,输出将类似于:
"Mounts": [
{
"Type": "volume",
"Name": "43f6d9846728547b77666705d2b5a4be1d1e644af80f3bb53d86fe105f57bfc6",
"Source": "/var/lib/docker/volumes/43f6d9846728547b77666705d2b5a4be1d1e644af80f3bb53d86fe105f57bfc6/_data",
"Destination": "/home/raphy/ConceptNet/",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
],
而
"Name": "43f6d9846728547b77666705d2b5a4be1d1e644af80f3bb53d86fe105f57bfc6"
是您无意中创建并附加到容器路径 /home/raphy/ConceptNet/
上的卷的名称。
如果你想挂载一个本地目录到你的容器,只需使用:
sudo docker run -t -i -v /home/raphy/ConceptNet/:/some_path/ 6c55bb15e2a6
如果你想在你的容器中包含 shell,最好在 docker 运行 的末尾包含你的命令,例如:
sudo docker run -t -i -v /home/raphy/ConceptNet/:/some_path/ 6c55bb15e2a6 /bin/sh
我正在尝试将文件夹装载到 Ubuntu 20.04 中的 docker 图像:
(base) raphy@pc:~$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.tigergraph.com/tigergraph latest 6c55bb15e2a6 7 days ago 10.6GB
hello-world latest feb5d9fea6a5 6 weeks ago 13.3kB
(base) raphy@pc:~$ sudo docker run -t -i -v /home/raphy/ConceptNet/ 6c55bb15e2a6
它没有给出任何错误,但它会无限期地卡住
更新 1)
(base) raphy@pc:~$ sudo docker run -t -i -v /home/raphy
/ConceptNet:/6c55bb15e2a6/ConceptNet bash
Unable to find image 'bash:latest' locally
latest: Pulling from library/bash
a0d0a0d46f8b: Pull complete
ae2d64a5f3ef: Pull complete
1e5367194cc8: Pull complete
Digest:
sha256:91767623eb341f1717bb37b059e77e8de439c8044064808f6f9bfdc942e8d30c 状态:为 bash:latest 下载了较新的图像 bash-5.1#^C
我做错了什么?
以这种方式解决:
(base) raphy@pc:~$ sudo docker run -d -p 14022:22 -p 9000:9000 -p
14240:14240 --name tigergraph --ulimit nofile=1000000:1000000 -v
~/ConceptNet/:/home/tigergraph/myconceptnet -t
docker.tigergraph.com/tigergraph:latest
试试这个
-v, --volume=[host-src:]container-dest[:<options>]:
您的 docker 命令不足以 运行 tigergraph...这不是一个简单的 运行 命令就能完成的,请按照 https://docs.tigergraph.com/start/get-started/docker[=11= 处的说明进行操作]
您的意图是将主机上的本地路径绑定到容器,但您现在真正要做的是将新的本地空卷附加到容器上的 /home/raphy/ConceptNet/
,只需执行:
docker exec {your container id} ls /home/raphy/ConceptNet/
查看路径是否在您的容器内创建。
你也可以使用:
docker inspect {your container id} | less
并检查“装载”部分以查看您真正附加到容器的卷,输出将类似于:
"Mounts": [
{
"Type": "volume",
"Name": "43f6d9846728547b77666705d2b5a4be1d1e644af80f3bb53d86fe105f57bfc6",
"Source": "/var/lib/docker/volumes/43f6d9846728547b77666705d2b5a4be1d1e644af80f3bb53d86fe105f57bfc6/_data",
"Destination": "/home/raphy/ConceptNet/",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
],
而
"Name": "43f6d9846728547b77666705d2b5a4be1d1e644af80f3bb53d86fe105f57bfc6"
是您无意中创建并附加到容器路径 /home/raphy/ConceptNet/
上的卷的名称。
如果你想挂载一个本地目录到你的容器,只需使用:
sudo docker run -t -i -v /home/raphy/ConceptNet/:/some_path/ 6c55bb15e2a6
如果你想在你的容器中包含 shell,最好在 docker 运行 的末尾包含你的命令,例如:
sudo docker run -t -i -v /home/raphy/ConceptNet/:/some_path/ 6c55bb15e2a6 /bin/sh