Sharing Volumes Between Docker Containers
In docker, it's easy to share data between containers with the --volumes-from flag.
First let's create a Dockerfile that declares a volume.
from apline:latest
volume ["/foo"]
Then let's:
- 
Build it into an image 
foo-image - 
Create & Run it as a container with the name 
foo-container - Put some text into a file in the volume
 
docker build . -t foo-image
docker run -it --name foo-container foo-image sh -c 'echo abc > /foo/test.txt'
When you run docker volume ls you can see a volume is listed.  By running a container from an image with a volume we've created a volume.
When you run docker container ls -a you can see that we've also created a container.  It's stopped currently, but the volume is still available.
Now let's run another container passing the name of our previously created container to the --volumes-from flag.
docker run -it --volumes-from foo-container alpine cat /foo/test.txt
# outputs: abc
We've accessed the volume of the container and output the results.
Tweet