--- JR Docker Cluster Setup ---


Docker Management (Portainer)

http://bandoc1.binghamton.edu:9000
http://bandoc2.binghamton.edu:9000
Username: admin
Password: d0ck3RAdm5

http://bandoc1.binghamton.edu:8085/manager/
http://bandoc2.binghamton.edu:8085/manager/
Username: tomcat
Password: b4nn3rZZ

------------------


curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose
chmod a+x /usr/bin/docker-compose

root@bandoc1:~# docker swarm init --advertise-addr 128.226.1.51
Swarm initialized: current node (su9m932aulbs84vz2ixt0yyyi) is now a manager.

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

    docker swarm join --token SWMTKN-1-6ban9gh5uigusf50kovi24tsldt23ackv5u0v2frjvllg2ig1m-5kfkv52qff0g7lqmnwjwpdhmj 128.226.1.51:2377

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

root@bandoc2:~# docker swarm join --token SWMTKN-1-6ban9gh5uigusf50kovi24tsldt23ackv5u0v2frjvllg2ig1m-5kfkv52qff0g7lqmnwjwpdhmj 128.226.1.51:2377
This node joined a swarm as a worker.

root@bandoc1:~# mkdir -p /u01/app/docker/data

root@bandoc1:~# docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS

root@bandoc1:~# docker service create \
> --name portainer \
> --publish 9000:9000 \
> --constraint 'node.role == manager' \
> --mount type=bind,src=/u01/app/docker/data,dst=/u01/app/docker/data \
> --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
> portainer/portainer \
> -H unix:///var/run/docker.sock
h3dj6az6nh8hy3ifhv9q7klj3
overall progress: 1 out of 1 tasks 
1/1: running   [==================================================>] 
verify: Service converged 

root@bandoc1:~# docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE                        PORTS
h3dj6az6nh8h        portainer           replicated          1/1                 portainer/portainer:latest   *:9000->9000/tcp

root@bandoc1:~# mkdir -p /banner
root@bandoc1:~# cd /banner/
root@bandoc1:/banner# ln -s /u01/app/docker/containers docker

root@bandoc2:~# mkdir /banner
root@bandoc2:~# cd /banner/
root@bandoc2:/banner# ln -s /u01/app/docker/containers docker

root@bandoc1:/banner/docker/bantmp# docker stack deploy --compose-file docker-compose.yml bantmp                                                            
Creating network bantmp_default
Creating service bantmp_tomcat
Creating service bantmp_httpd

root@bandoc1:/banner/docker/bantmp# docker stack ls
NAME                SERVICES            ORCHESTRATOR
bantmp              2                   Swarm

root@bandoc1:/banner/docker/bantmp# docker stack services bantmp
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
p19cjubywoc5        bantmp_httpd        replicated          1/1                 httpd:latest        *:8085->8080/tcp
rlg3lmzsv2me        bantmp_tomcat       replicated          1/1                 tomcat:8.5-jre8     

root@bandoc1:/banner/docker/bantmp# docker stack ps bantmp
ID                  NAME                IMAGE               NODE                     DESIRED STATE       CURRENT STATE                ERROR               PORTS
hxr2z1bafe8f        bantmp_httpd.1      httpd:latest        bandoc1.binghamton.edu   Running             Running about a minute ago                       
crztgifoocko        bantmp_tomcat.1     tomcat:8.5-jre8     bandoc2.binghamton.edu   Running             Running 51 seconds ago        

root@bandoc1:/banner/docker/bantmp# docker stack rm bantmp
Removing service bantmp_httpd
Removing service bantmp_tomcat
Removing network bantmp_default

---------

@docker-compose.yml:
version: '3.0'
services:
    httpd:
        ports:
            - '8085:8085'
        volumes:
            - '/banner/docker/bantmp/htdocs:/usr/local/apache2/htdocs:ro'
            - '/banner/docker/bantmp/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf:ro'
            - '/banner/docker/bantmp/conf/httpd-vhosts.conf:/usr/local/apache2/conf/extra/httpd-vhosts.conf:ro'
        image: 'httpd:latest'
    tomcat:
        volumes:
            - '/banner/docker/bantmp/conf/setenv.sh:/usr/local/tomcat/bin/setenv.sh:ro'
            - '/banner/docker/bantmp/conf/server.xml:/usr/local/tomcat/conf/server.xml:ro'
            - '/banner/docker/bantmp/conf/context.xml:/usr/local/tomcat/conf/context.xml:ro'
            - '/banner/docker/bantmp/conf/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml:ro'
            - '/banner/docker/bantmp/conf/tomcat-users.xsd:/usr/local/tomcat/conf/tomcat-users.xsd:ro'
            - '/banner/docker/bantmp/lib/hazelcast-all-3.10.5.jar:/usr/local/tomcat/lib/hazelcast-all-3.10.5.jar:ro'
            - '/banner/docker/bantmp/lib/hazelcast-tomcat85-sessionmanager-1.1.3.jar:/usr/local/tomcat/lib/hazelcast-tomcat85-sessionmanager-1.1.3.jar:ro'
            - '/banner/docker/bantmp/lib/hazelcast-default.xml:/usr/local/tomcat/lib/hazelcast-default.xml:ro'
            - '/banner/docker/bantmp/lib/ojdbc6.jar:/usr/local/tomcat/lib/ojdbc6.jar:ro'
            - '/banner/docker/bantmp/lib/ojdbc7.jar:/usr/local/tomcat/lib/ojdbc7.jar:ro'
            - '/banner/docker/bantmp/lib/xdb6.jar:/usr/local/tomcat/lib/xdb6.jar:ro'
            - '/banner/docker/bantmp/webapps:/usr/local/tomcat/webapps:rw'
        image: tomcat:8.5-jre8
        depends_on:
            - httpd

Valid HTML 4.01!