Table Of Contents
The next Step continuous from [Docker Administration]({{ site.url }}/notes/2020/03/06/publish-your-image-docker/)
How Share File From Host To Container or biderectional:
VOLUME LOCAL DRIVER
Share Host Part I
Create Volume
sudo docker volume create first-volume
Show list Volume
sudo docker volume ls
Show detail volume
sudo docker volume inspect first-volume
Running Service Nginx With Container
sudo docker run -d --name=nginxtest -v first-volume:/usr/share/nginx/html nginx:latest
Show Ip Address Docker
sudo docker inspect nginxtest | grep -i ipaddress
Testing
curl http://172.17.XXX.XXX
Create file index.html and in Mount Point Volume Docker Data
su - root
echo "This is from first-volume source directory." > /var/lib/docker/volumes/first-volume/_data/index.html
Test Again
curl -sLi http://172.17.XXX.XXX
Output :
HTTP/1.1 200 OK
Server: nginx/1.17.9
Date: Sat, 07 Mar 2020 11:46:12 GMT
Content-Type: text/html
Content-Length: 44
Last-Modified: Sat, 07 Mar 2020 11:44:33 GMT
Connection: keep-alive
ETag: "5e638921-2c"
Accept-Ranges: bytes
This is from first-volume source directory.
Setup Volume Readonly, add :ro
sudo docker run -d --name=nginxtest-ro-vol -v first-volume:/usr/share/nginx/html:ro nginx:latest
Share Host to Container (Absolute Path) Part II
Share folder /usr/share/nginx/html into Hosts
mkdir -p Project/LAMP/www
cd Project/LAMP
echo "test" > www/index.html
pwd
save result pwd, my result is /home/vagrant/Project/LAMP
Running Container
sudo docker run -d --name=nginxtest-mount-www -v /home/vagrant/Project/LAMP/www/:/usr/share/nginx/html nginx:latest
Find IP COntainer nginxtest-mount-www
sudo docker container inspect -f '\{\{\.NetworkSettings.Networks.bridge.IPAddress\}\}' nginxtest-mount-www
or simple way
sudo docker container inspect nginxtest-mount-www | grep IPAddress
Testing
curl -sLi http://172.17.0.5
Output :
HTTP/1.1 200 OK
Server: nginx/1.17.9
Date: Sat, 07 Mar 2020 12:15:13 GMT
Content-Type: text/html
Content-Length: 5
Last-Modified: Sat, 07 Mar 2020 12:02:42 GMT
Connection: keep-alive
ETag: "5e638d62-5"
Accept-Ranges: bytes
test