1. Copy file from container to host
docker cp <containerId>:/file/path/within/container /host/path/target
Example:
2. Copy file from host to container
2.1 Get container name or short container id :$ docker ps
2.2 Get full container id
$ docker inspect -f '{{.Id}}' SHORT_CONTAINER_ID-or-CONTAINER_NAME
2.3 copy file :
$ sudo cp path-file-host /var/lib/docker/aufs/mnt/FULL_CONTAINER_ID/PATH-NEW-FILE
Example:
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8af19f753c85 ubuntu:14.04 /bin/bash 2 hours ago Up 2 hours ecstatic_engelbart
$ sudo docker inspect -f '{{.Id}}' 8af19f753c85
8af19f753c857d79c343462f5bbddd6367b50d6603a90eaea974b48acf8873b2
$ sudo cp make.log /var/lib/docker/aufs/mnt/8af19f753c857d79c343462f5bbddd6367b50d6603a90eaea974b48acf8873b2/home
$ sudo cp -r x264 /var/lib/docker/aufs/mnt/8af19f753c857d79c343462f5bbddd6367b50d6603a90eaea974b48acf8873b2/home
3. Using netcat to copy files
In the host:
$ cat vlc.js | nc -l 2000
In the container:
$ nc 192.168.1.109 2000 > vlc.js