이 포스트는 2019년 6월 29일 토요일, SK플래닛 T아카데미에서 진행됐던 세미나에 가서 청강하고 작성했습니다. 현재 세미나 강의와 자료는 추후 이 곳 에서 확인하실 수 있습니다. 노트 필기식으로 작성한 내용이기에, 존댓말을 사용하지 않은 점 참고하시기 바랍니다.AWS Lightsail 서비스로 실습 진행되었습니다. 
 
* 발표자 : 김충섭 (퍼플웍스) 님
개발 환경 설정 jq  - docker  - k3s  - Local path provisioner  - code server  설치
Docker 실습 시작 
‘19차 T아카데미 세미나 : 컨테이너 기반 가상화 플랫폼 도커(Docker)의 이해’ 블로그 포스트 참고 
 
페이지 를 참조하며 실습을 합니다.
컨테이너 실행 
컨테이너 목록 
 
컨테이너 로그  
컨테이너 종료  
컨테이너 삭제  
이미지 목록  
네트워크 생성 1 docker network create app-network 
 
네트워크에 연결된 컨테이너 생성 1 2 3 4 5 6 7 8 9 #  mysql 컨테이너 실행docker run -d \   -e MYSQL_ALLOW_EMPTY_PASSWORD=true \   --name mysql \   --network=app-network \   mysql:5.7 #  mysql 컨테이너에 접속하여 mysql 실행docker exec -it mysql mysql 
 
이후 동작해야하는 항목 (WordPress 연동 DB 구축) 
 
1 2 3 4 create  database  wp CHARACTER  SET  utf8;grant  all  privileges  on  wp.* to  wp@'%'  identified  by  'wp' ;flush  privileges ;quit 
 
1 2 3 4 5 6 7 docker run -d -p 8000:80 \   --network=app-network \   -e WORDPRESS_DB_HOST=mysql \   -e WORDPRESS_DB_NAME=wp \   -e WORDPRESS_DB_USER=wp \   -e WORDPRESS_DB_PASSWORD=wp \   wordpress 
 
예제 
문제 에 대한 제가 작성한 답입니다. 답이 아닐 수 있으니 참고해주세요.
 
풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 docker run -d -p 27017:27017 \   --network=app-network \   --name mongodb mongo:4 docker run -d -p 8887:8887 \   -e PORT=8887 \   -e GUESTBOOK_DB_ADDR=mongodb:27017 \   --network=app-network \   --name apiserver \   subicura/guestbook-backend:latest docker run -d -p 8888:8888 \   -e PORT=8888 \   -e GUESTBOOK_API_ADDR=apiserver:8887 \   --network=app-network \   --name guestbook \   subicura/guestbook-frontend:latest 
 
이름은 소문자로 지정해주세요 (대문자로 지정하면, 네트워크 결합이 안됩니다) 
 
정리 1 2 3 docker stop xxx docker rm xxx docker system prune -a 
 
참고 : prune 시도 화면 
이전 
이후 
 
 
Docker-compose 실습 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 version:  '3' services:   mongodb:     image:  mongo:4     ports:     -  "27017:27017"     restart:  always   backend:     image:  subicura/guestbook-backend:latest     ports:     -  "8887:8887"     environment:       PORT:  "8887"       GUESTBOOK_DB_ADDR:  "mongodb:27017"     restart:  always   frontend:     image:  subicura/guestbook-frontend:latest     ports:     -  "8888:8888"     environment:       PORT:  "8888"       GUESTBOOK_API_ADDR:  "backend:8887"     restart:  always 
 
restart:always 
이 옵션을 줘야 순서에 상관없이 실행이 되더라도 오류없이 모두 실행이 된다. docker-compose up 을 하면 기재된 순서에 상관없이 1-3-2 2-3-1 3-2-1 1-2-3 등의 랜덤 순서로 실행되기 때문에 반드시 restart:always 옵션을 기재해야한다. 
 
depends_on 
이 옵션은 docker-compose 구형 버전 작성시 의존성을 명시해 순서대로 실행시킬 수 있다.