Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Docker - accessing files inside container from host

I am new to docker.

I ran a node-10 images and inside the running container I cloned a repository, ran the app which started a server with file watcher. I need to access the codebase inside the container, open it up in an IDE running on the windows host. If that is done, then I also want that as I change the files in the IDE these changes induce the filewatcher in the container.

Any help is appreciated. Thanks,

like image 362
VISHAL DAGA Avatar asked Oct 17 '18 13:10

VISHAL DAGA


People also ask

Can docker containers access files on host?

Docker also supports containers storing files in-memory on the host machine. Such files are not persisted. If you're running Docker on Linux, tmpfs mount is used to store files in the host's system memory. If you're running Docker on Windows, named pipe is used to store files in the host's system memory.

How do I view files inside a docker container?

In the latest versions of Docker, something like this is possible: docker exec <container> bash . So, you just open a shell inside the container. Similarly, you can do: docker exec <container> ls <dir path> and docker exec <container> cat <file path> . For bash however, add the -it options.


1 Answers

The concept you are looking for is called volumes. You need to start a container and mount a host directory inside it. For the container, it will be a regular folder, and it will create files in it. For you, it will also be a regular folder. Changes made by either side will be visible to another.

docker run -v /a/local/dir:/a/dir/in/your/container

Note though that you can run into permission issues that you will need to figure out separately.

like image 156
Yury Fedorov Avatar answered Oct 13 '22 11:10

Yury Fedorov