ExpertCollective / expertCollective

0 stars 0 forks source link

Use Docker and Docker Compose

Make sure that no service is listening on ports 80 or 443 sudo lsof -i -P -n | grep LISTEN

Stop those services sudo systemctl stop nginx

Install Docker

Install Docker Compose apt install docker-compose

to build all Docker images run docker-compose up --build

to run with logging run docker-compose up

to run in a detached mode. run docker-compose up -d

to Stop run docker-compose down

to remove all images run docker-compose down --rmi all

list the docker images docker image list REPOSITORY TAG IMAGE ID CREATED SIZE expertcollective_nginx latest 8391e8406257 7 minutes ago 133MB expertcollective_webservice latest 5da531e93393 28 minutes ago 218MB

8776be58a542 28 minutes ago 133MB expertcollective_web latest f8967bab98ee 28 minutes ago 2.38GB 54ac451a5482 2 hours ago 133MB nginx latest 35c43ace9216 4 days ago 133MB mhart/alpine-node 13.8 33b0d13252d4 12 months ago 107MB gmathieu/node-browsers 3.0.0 05fc805cbaf8 2 years ago 1.37GB Save the docker images as tars `docker save -o expertcollective_web.tar expertcollective_web` `docker save -o nginx.tar nginx` `docker save -o expertcollective_webservice.tar expertcollective_webservice` `docker save -o expertcollective_restservice.tar expertcollective_restservice` use `scp` to secure copy/paste the files needed for the docker images to run on the server. `scp expertcollective_web.tar root@165.227.120.116:/home/eccdeploy` `scp nginx.tar root@165.227.120.116:/home/eccdeploy` `scp expertcollective_webservice.tar root@165.227.120.116:/home/eccdeploy` `scp expertcollective_restservice.tar root@165.227.120.116:/home/eccdeploy` `scp docker-compose.yml root@165.227.120.116:/home/eccdeploy` `scp -r controller root@165.227.120.116:/home/eccdeploy` `scp -r ./server/Dockerfile root@165.227.120.116:/home/eccdeploy/server` `scp -r ./server/build root@165.227.120.116:/home/eccdeploy/server` `scp -r ./restservice/Dockerfile root@165.227.120.116:/home/eccdeploy/restservice` verify with : `tree -D` # `scp nginx.conf root@165.227.120.116:/home/eccdeploy/client` `su - eccdeploy` Load docker images from the tar `sudo docker load -i expertcollective_web.tar` `sudo docker load -i nginx.tar` `sudo docker load -i expertcollective_webservice.tar` `sudo docker load -i expertcollective_restservice.tar` `docker-compose down` `docker-compose up -d` `docker ps` Explore nginx configuration: `docker exec -it eccdeploy_nginx_1 /bin/sh` `cd etc/nginx` `cat nginx.conf` To exit: `Ctrl+p` & `Ctrl+q` To check email contacts: `docker exec -it eccdeploy_webservice_1 /bin/sh` `cd ../../../` `cd contact-info/` `ls -all` `cat `