Thursday 9 June 2022

Demonstrate How to Use Storage Across Cluster Nodes in Docker Container


Create a volume for storage on the manager node

sudo docker volume create volume1

volume1


sudo docker volume ls

DRIVER              VOLUME NAME

<...>

local               volume1


Use the volume to create a replicated service

sudo docker service create -d --replicas=4 --name replicated-service --mount source=volume1,target=/app nginx:latest

k57ivgvx1xg8yrlyzuv86lp9m


sudo docker service ls

ID                  NAME                 MODE                REPLICAS            IMAGE               PORTS

k57ivgvx1xg8        replicated-service   replicated          4/4                 nginx:latest        


sudo docker inspect replicated-service | grep volume1

                            "Source": "volume1",


 sudo docker service ps replicated-service

ID                  NAME                   IMAGE               NODE                DESIRED STATE       CURRENT STATE           ERROR               PORTS

kak3vsjwpws0        replicated-service.1   nginx:latest        ip-172-31-0-113     Running             Running 2 seconds ago                       

bei8zr7ji609        replicated-service.2   nginx:latest        ip-172-31-0-113     Running             Running 2 seconds ago                       

w80hczbylomw        replicated-service.3   nginx:latest        ip-172-31-15-10     Running             Running 2 seconds ago                       

i14joxpsh8i0        replicated-service.4   nginx:latest        ip-172-31-8-58      Running             Running 2 seconds ago               


Inspect worker nodes accessing the same volume for storage across cluster nodes


sudo docker inspect kak3vsjwpws0 | grep volume1

                        "Source": "volume1",


sudo docker inspect bei8zr7ji609 | grep volume1

                        "Source": "volume1",


sudo docker inspect w80hczbylomw | grep volume1

                        "Source": "volume1",


sudo docker inspect i14joxpsh8i0 | grep volume1

                        "Source": "volume1",


#check from the node

sudo docker volume ls

DRIVER              VOLUME NAME

local               volume1


sudo  docker inspect volume1

[

    {

        "CreatedAt": "2022-06-09T17:20:23Z",

        "Driver": "local",

        "Labels": null,

        "Mountpoint": "/var/lib/docker/volumes/volume1/_data",

        "Name": "volume1",

        "Options": null,

        "Scope": "local"

    }

]


sudo docker service rm k57ivgvx1xg8

k57ivgvx1xg8


sudo docker volume rm volume1

volume1


No comments:

Post a Comment