Volume in Docker

RoomIT
2 min readJul 18, 2023

--

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

--

--

RoomIT
RoomIT

Written by RoomIT

Our Notes For Blockchain | DevOps | Security | Sysadmin

No responses yet