docker swarm mysql wordpress remote access to each instance

[root@kuber ~]# docker swarm init --advertise-addr 192.168.0.101
Swarm initialized: current node (v4z82itg9ef827pedaheo5z27) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-18mecbpo07m6e9xfhk1uhc1l26rlmjhh0l3r73bt50jgelt56j-5w3ppnl0cecswyy13vc155dc2 \
    192.168.0.101:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

[root@kuber ~]# docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
nm3wkslasoe8iu4gwnpc3jrbt    worker1   Ready   Active       
v4z82itg9ef827pedaheo5z27 *  kuber     Ready   Active        Leader

[root@worker1 ~]# docker swarm join \
>     --token SWMTKN-1-18mecbpo07m6e9xfhk1uhc1l26rlmjhh0l3r73bt50jgelt56j-5w3ppnl0cecswyy13vc155dc2 \
>     192.168.0.101:2377
This node joined a swarm as a worker.

[root@kuber ~]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
b96c5b2c8661        bridge              bridge              local
81e347e7e897        docker_gwbridge     bridge              local
933e13449f3f        host                host                local
gtcb1pwnhuxy        ingress             overlay             swarm
f2675ed77fee        none                null                local
[root@kuber ~]# docker network create -d overlay net1
0797l0b9un3q7b2x3lb63n0kc

Creating MYSQL service

[root@kuber ~]# docker service create \
>            --replicas 1 \
>            --name wordpressdb \
>            --network net1 \
>            --env MYSQL_ROOT_PASSWORD=mysql123 \
>            --env MYSQL_DATABASE=wordpress \
>           mysql:latest
owhxah1deiq2uplk07iqj6znd

[root@kuber ~]# docker service ls 
ID            NAME         MODE        REPLICAS  IMAGE
owhxah1deiq2  wordpressdb  replicated  1/1       mysql:latest
[root@kuber ~]# 


root@kuber ~]# docker service ps wordpressdb
ID            NAME           IMAGE         NODE   DESIRED STATE  CURRENT STATE               ERROR  PORTS
fed0fr239gy9  wordpressdb.1  mysql:latest  kuber  Running        Running about a minute ago         
[root@kuber ~]# 

Creating WordPress service

[root@kuber ~]# docker service create \
>            --replicas 4 \
>            --name wordpressapp \
>            --network net1 \
>            --env WORDPRESS_DB_HOST=wordpressdb \
>            --env WORDPRESS_DB_PASSWORD=mysql123 \
>           wordpress:latest
9fioy38m6nay6ndd2curyedvn
[root@kuber ~]# 


[root@kuber ~]# docker service ls
ID            NAME          MODE        REPLICAS  IMAGE
9fioy38m6nay  wordpressapp  replicated  4/4       wordpress:latest
owhxah1deiq2  wordpressdb   replicated  1/1       mysql:latest
[root@kuber ~]# 

root@kuber ~]# docker service ps wordpressapp
ID            NAME            IMAGE             NODE     DESIRED STATE  CURRENT STATE           ERROR  PORTS
j6vbntky9yn6  wordpressapp.1  wordpress:latest  worker1  Running        Running 41 seconds ago         
h767not8f4zk  wordpressapp.2  wordpress:latest  kuber    Running        Running 41 seconds ago         
rjkpx3n9gm38  wordpressapp.3  wordpress:latest  worker1  Running        Running 41 seconds ago         
1o4f6tdi65uo  wordpressapp.4  wordpress:latest  kuber    Running        Running 41 seconds ago         
[root@kuber ~]# 

[root@kuber ~]# docker ps
CONTAINER ID        IMAGE                                                                               COMMAND                  CREATED             STATUS              PORTS                 NAMES
59e0b3cfaaa9        wordpress@sha256:b82c292ca0e37e86bbe2a0d4469388ce78504da8332af171cdcff3f157c791e6   "docker-entrypoint..."   4 minutes ago       Up 4 minutes        80/tcp                wordpressapp.2.h767not8f4zk24jm5lkxtp941
abd0d32bd1a4        wordpress@sha256:b82c292ca0e37e86bbe2a0d4469388ce78504da8332af171cdcff3f157c791e6   "docker-entrypoint..."   4 minutes ago       Up 4 minutes        80/tcp                wordpressapp.4.1o4f6tdi65uotdxa81kc2um5v
c41956e8818b        mysql@sha256:c93ba1bafd65888947f5cd8bd45deb7b996885ec2a16c574c530c389335e9169       "docker-entrypoint..."   7 minutes ago       Up 7 minutes        3306/tcp, 33060/tcp   wordpressdb.1.fed0fr239gy9u9cpt83p39z6g

[root@kuber ~]# docker exec -it 59e bash -c "apt update && apt -y install iputils-ping"
Get:1 http://cdn-fastly.deb.debian.org/debian buster InRelease [122 kB]             
Get:2 http://security-cdn.debian.org/debian-security buster/updates InRelease [65.4 kB]
Get:3 http://cdn-fastly.deb.debian.org/debian buster-updates InRelease [49.3 kB]
Get:4 http://cdn-fastly.deb.debian.org/debian buster/main amd64 Packages [7908 kB]
Get:5 http://security-cdn.debian.org/debian-security buster/updates/main amd64 Packages [158 kB]
Get:6 http://cdn-fastly.deb.debian.org/debian buster-updates/main amd64 Packages [5792 B]
Fetched 8308 kB in 5s (1691 kB/s)                         
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libcap2 libcap2-bin libpam-cap
The following NEW packages will be installed:
  iputils-ping libcap2 libcap2-bin libpam-cap
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 104 kB of archives.
After this operation, 315 kB of additional disk space will be used.
Get:1 http://cdn-fastly.deb.debian.org/debian buster/main amd64 libcap2 amd64 1:2.25-2 [17.6 kB]
Get:2 http://cdn-fastly.deb.debian.org/debian buster/main amd64 iputils-ping amd64 3:20180629-2 [43.0 kB]
Get:3 http://cdn-fastly.deb.debian.org/debian buster/main amd64 libcap2-bin amd64 1:2.25-2 [28.8 kB]
Get:4 http://cdn-fastly.deb.debian.org/debian buster/main amd64 libpam-cap amd64 1:2.25-2 [14.3 kB]
Fetched 104 kB in 1s (122 kB/s)  
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libcap2:amd64.
(Reading database ... 15402 files and directories currently installed.)
Preparing to unpack .../libcap2_1%3a2.25-2_amd64.deb ...
Unpacking libcap2:amd64 (1:2.25-2) ...
Selecting previously unselected package iputils-ping.
Preparing to unpack .../iputils-ping_3%3a20180629-2_amd64.deb ...
Unpacking iputils-ping (3:20180629-2) ...
Selecting previously unselected package libcap2-bin.
Preparing to unpack .../libcap2-bin_1%3a2.25-2_amd64.deb ...
Unpacking libcap2-bin (1:2.25-2) ...
Selecting previously unselected package libpam-cap:amd64.
Preparing to unpack .../libpam-cap_1%3a2.25-2_amd64.deb ...
Unpacking libpam-cap:amd64 (1:2.25-2) ...
Setting up libcap2:amd64 (1:2.25-2) ...
Setting up libcap2-bin (1:2.25-2) ...
Setting up libpam-cap:amd64 (1:2.25-2) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
Setting up iputils-ping (3:20180629-2) ...
Processing triggers for libc-bin (2.28-10) ...
[root@kuber ~]# docker exec -it 59e ping wordpressapp
PING wordpressapp (10.0.0.4) 56(84) bytes of data.
64 bytes from 10.0.0.4 (10.0.0.4): icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 10.0.0.4 (10.0.0.4): icmp_seq=2 ttl=64 time=0.161 ms
64 bytes from 10.0.0.4 (10.0.0.4): icmp_seq=3 ttl=64 time=0.244 ms
64 bytes from 10.0.0.4 (10.0.0.4): icmp_seq=4 ttl=64 time=0.167 ms
64 bytes from 10.0.0.4 (10.0.0.4): icmp_seq=5 ttl=64 time=0.182 ms
64 bytes from 10.0.0.4 (10.0.0.4): icmp_seq=6 ttl=64 time=0.140 ms
^C
--- wordpressapp ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 7ms
rtt min/avg/max/mdev = 0.045/0.156/0.244/0.060 ms

 reach out to remote wordpressapp container from one of the wordpressdb instance running on the worker node by its hostname 

[root@kuber ~]# docker exec -it 59e ping wordpressdb.1.fed0fr239gy9u9cpt83p39z6g
PING wordpressdb.1.fed0fr239gy9u9cpt83p39z6g (10.0.0.3) 56(84) bytes of data.
64 bytes from wordpressdb.1.fed0fr239gy9u9cpt83p39z6g.net1 (10.0.0.3): icmp_seq=1 ttl=64 time=0.189 ms
64 bytes from wordpressdb.1.fed0fr239gy9u9cpt83p39z6g.net1 (10.0.0.3): icmp_seq=2 ttl=64 time=0.477 ms
64 bytes from wordpressdb.1.fed0fr239gy9u9cpt83p39z6g.net1 (10.0.0.3): icmp_seq=3 ttl=64 time=0.152 ms
64 bytes from wordpressdb.1.fed0fr239gy9u9cpt83p39z6g.net1 (10.0.0.3): icmp_seq=4 ttl=64 time=0.128 ms
^C
--- wordpressdb.1.fed0fr239gy9u9cpt83p39z6g ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 10ms
rtt min/avg/max/mdev = 0.128/0.236/0.477/0.141 ms
[root@kuber ~]# docker exec -it 59e ping wordpressapp.4.1o4f6tdi65uotdxa81kc2um5v
PING wordpressapp.4.1o4f6tdi65uotdxa81kc2um5v (10.0.0.8) 56(84) bytes of data.
64 bytes from wordpressapp.4.1o4f6tdi65uotdxa81kc2um5v.net1 (10.0.0.8): icmp_seq=1 ttl=64 time=0.412 ms
64 bytes from wordpressapp.4.1o4f6tdi65uotdxa81kc2um5v.net1 (10.0.0.8): icmp_seq=2 ttl=64 time=0.199 ms
64 bytes from wordpressapp.4.1o4f6tdi65uotdxa81kc2um5v.net1 (10.0.0.8): icmp_seq=3 ttl=64 time=0.085 ms
64 bytes from wordpressapp.4.1o4f6tdi65uotdxa81kc2um5v.net1 (10.0.0.8): icmp_seq=4 ttl=64 time=0.108 ms
^C
--- wordpressapp.4.1o4f6tdi65uotdxa81kc2um5v ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 10ms
rtt min/avg/max/mdev = 0.085/0.201/0.412/0.129 ms
[root@kuber ~]# docker exec -it 59e ping wordpressapp.2.h767not8f4zk24jm5lkxtp941
PING wordpressapp.2.h767not8f4zk24jm5lkxtp941 (10.0.0.6) 56(84) bytes of data.
64 bytes from 59e0b3cfaaa9 (10.0.0.6): icmp_seq=1 ttl=64 time=0.066 ms
64 bytes from 59e0b3cfaaa9 (10.0.0.6): icmp_seq=2 ttl=64 time=0.053 ms
64 bytes from 59e0b3cfaaa9 (10.0.0.6): icmp_seq=3 ttl=64 time=0.130 ms
64 bytes from 59e0b3cfaaa9 (10.0.0.6): icmp_seq=4 ttl=64 time=0.119 ms
^C
--- wordpressapp.2.h767not8f4zk24jm5lkxtp941 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3ms
rtt min/avg/max/mdev = 0.053/0.092/0.130/0.033 ms
[root@kuber ~]# 

Comments

Popular posts from this blog

ansible redhat cluster qorum qdevice

PE 3.9.0 on centos 6

gfs2 cluster