Home > database >  The mounting a folder to a Docker image remains indefinitely stuck
The mounting a folder to a Docker image remains indefinitely stuck

Time:11-10

I'm trying to mount a folder to a docker image in Ubuntu 20.04:

(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

It doesn't give any error, but it remains indefinitely stuck

Update 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 Status: Downloaded newer image for bash:latest bash-5.1# ^C

What am I doing wrongly?

SOLVED in this way:

(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

https://docs.tigergraph.com/start/get-started/docker#2.-prepare-a-shared-folder-on-host-os-to-be-shared-with-docker-container

CodePudding user response:

Your docker command is insufficient to run tigergraph... it's not a simple run command will do, follow the instruction at https://docs.tigergraph.com/start/get-started/docker

CodePudding user response:

your intention is to bind a local path on your host to your container, but what you are really doing now is attaching a new local empty volume to /home/raphy/ConceptNet/ on your container, just exec:

docker exec {your container id} ls /home/raphy/ConceptNet/

to see the path is created inside your container.

also you can use:

docker inspect {your container id} | less

and check the "Mounts" part to see what volumes you have really attached to your container, the output will be something like:

        "Mounts": [
            {
                "Type": "volume",
                "Name": "43f6d9846728547b77666705d2b5a4be1d1e644af80f3bb53d86fe105f57bfc6",
                "Source": "/var/lib/docker/volumes/43f6d9846728547b77666705d2b5a4be1d1e644af80f3bb53d86fe105f57bfc6/_data",
                "Destination": "/home/raphy/ConceptNet/",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],

while

"Name": "43f6d9846728547b77666705d2b5a4be1d1e644af80f3bb53d86fe105f57bfc6"

is the name of the volume you've unintentionally created and attached on path /home/raphy/ConceptNet/ in your container.

if you want to mount a local directory to your container, just use:

sudo docker run -t -i -v /home/raphy/ConceptNet/:/some_path/ 6c55bb15e2a6

and if you want to have shell inside your container its better to include your command at the end of docker run like:

sudo docker run -t -i -v /home/raphy/ConceptNet/:/some_path/ 6c55bb15e2a6 /bin/sh

CodePudding user response:

Try this

-v, --volume=[host-src:]container-dest[:<options>]:

Reference Link

  • Related