Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to start a sibling docker container mounting volumes from the host?

Tags:

docker

the scenario: I have a host that has a running docker daemon and a working docker client and socket. I have 1 docker container that was started from the host and has a docker socket mounted within it. It also has a mounted docker client from the host. So I'm able to issue docker commands at will from whithin this docker container using the aforementioned mechanism.

the need: I want to start another docker container from within this docker container; in other words, I want to start a sibling docker container from another sibling docker container.

the problem: A problem arises when I want to mount files that live inside the host filesystem to the sibling container that I want to spin up from the other docker sibling container. It is a problem because when issuing docker run, the docker daemon mounted inside the docker container is really watching the host filesystem. So I need access to the host file system from within the docker container which is trying to start another sibling.

In other words, I need something along the lines of:

# running from within another docker container: 
docker run --name another_sibling \
  -v {DockerGetHostPath: path_to_host_file}:path_inside_the_sibling \
  bash -c 'some_exciting_command'

Is there a way to achieve that? Thanks in advance.

like image 250
ninrod Avatar asked Sep 08 '25 08:09

ninrod


1 Answers

Paths are always on the host, it doesn't matter that you are running the client remotely (or in a container).

Remember: the docker client is just a REST client, the "-v" is always about the daemon's file system.

like image 90
André Avatar answered Sep 10 '25 00:09

André