6.1 도커 플러그인이란?

6.2 도커 볼륨 플러그인

6.2.1 sshFS
6.2.2 Azure File Storage
6.2.3 Flocker
6.2.4 NFS와 Convoy

6.3 도커 네트워크 플러그인

6.3.1 위브

'개발 도서 > 시작하세요!도커' 카테고리의 다른 글

05 도커 컴포즈  (0) 2020.07.05
04 도커 머신  (0) 2020.07.05
03 도커 스웜  (0) 2020.07.05
02 도커 엔진 - 2.4 Dockerfile  (0) 2020.06.08
02 도커 엔진 - 2.3 도커 이미지  (0) 2020.06.07

5.1 도커 컴포즈를 사용하는 이유

여러 개의 컨테이너를 하나의 서비스로 정의해 컨테이너 묶음으로 관리할 수 있게 해 줌. 여러 개의 컨테이너의 옵션과 환경을 정의한 파일을 읽어 컨테이너를 순차적으로 생성하는 방식으로 동작함.

5.2 도커 컴포즈 설치

//Docker for Windows, Docker for Mac을 설치하면 도커 엔진과 함께 도커 컴포즈도 설치됨
docker-compose -v

5.3 도커 컴포즈 사용

5.3.1 도커 컴포즈 기본 사용법

5.3.1.1 docker-compose.yml 작성과 활용

//docker-compose.yml
version: '3.0'	//YAML 파일 포맷의 버전 지정
services:	//생성될 컨테이너들을 묶어놓은 단위
  web:	//생성될 서비스의 이름. docker run에서 사용한 옵션을 아래에 지정
    image: alicek106/composetest:web
    ports:
      - "80:80"
    links:
      - mysql:db
    command: apachectl -DFOREGROUND
  mysql:
    image: alicek106/composetest:mysql
    command: mysqld
    
    
//아무 설정하지 않으면 현재 디렉터리의 docker-compose.yml 파일을 읽어 도커 엔진에게 컨테이너 생성 요청
docker-compose up -d

//docker-compose.yml끝에 서비의 이름을 입력해 특정 서비스의 컨테이너만 생성
docker-compose up -d mysql

//docker-compose run 명령어로 컨테이너 생성. interactive 셸 사용 가능.
docker-compose run web /bin/bash

5.3.1.2 도커 컴포즈의 프로젝트, 서비스, 컨테이너

  • 하나의 프로젝트는 여러개의 서비스로 구성되고, 각 서비스는 여러 개의 컨테이너로 구성됨
  • 컨테이너의 이름 -> [프로젝트 이름]_[서비스 이름]_[서비스 내의 컨테이너의 번호]
//서비스의 컨테이너 수 늘리기
docker-compose scale mysql=2

//프로젝트 삭제
docker-compose down

//-p 옵션에 프로젝트의 이름을 사용해 제어할 프로젝트의 이름을 명시
docker-compose -p myproject up -d
docker-compose -p myproject ps
docker-compose -p myproject down

5.3.2 도커 컴포즈 활용

5.3.2.1 YAML 파일 작성
5.3.2.2 도커 컴포즈 네트워크
5.3.2.3 도커 스웜과 함께 사용하기
5.3.2.4 도커 스웜 모드와 함께 사용하기

'개발 도서 > 시작하세요!도커' 카테고리의 다른 글

06 도커 플러그인  (0) 2020.07.05
04 도커 머신  (0) 2020.07.05
03 도커 스웜  (0) 2020.07.05
02 도커 엔진 - 2.4 Dockerfile  (0) 2020.06.08
02 도커 엔진 - 2.3 도커 이미지  (0) 2020.06.07

4.1 도커 머신을 사용하는 이유

4.2 도커 머신 사용

4.2.1 도커 머신 시작
4.2.2 버추얼 박스를 이용한 로컬 가상 머신 생성
4.2.3 클라우드에 도커 서버 생성

  • 아마존 웹 서비스에 도커 서버 생성
  • 애저에 도커 서버 생성

4.2.4 온프레미스 환경에 연결

'개발 도서 > 시작하세요!도커' 카테고리의 다른 글

06 도커 플러그인  (0) 2020.07.05
05 도커 컴포즈  (0) 2020.07.05
03 도커 스웜  (0) 2020.07.05
02 도커 엔진 - 2.4 Dockerfile  (0) 2020.06.08
02 도커 엔진 - 2.3 도커 이미지  (0) 2020.06.07

3.1 도커 스웜을 사용하는 이유

여러 대의 서버를 손쉽게 하나의 자원 풀로 만들기 위해 사용. 클러스터를 만들 때 발생하는 아래의 이슈들을 도커스웜을 통해 해결.

  • 새로운 서버나 컨테이너가 추가됐을 때 이를 발견
  • 어떤 서버에 컨테이너를 할당할 것인가에 대한 스케줄러와 로드밸런서
  • 클러스터 내의 서버가 다운됐을 때 고가용성을 어떻게 보장할지

3.2 도커 스웜과 도커 스웜 모드

  • 도커 버전 1.6 이후부터 사용할 수 있는 컨테이너로서의 스웜(도커 스웜)
    <-> 도커 버전 1.12 이후부터 사용할 수 있는 도커 스웜 모드(스웜 모드)
  • 도커스웜은 도커를 제어하기 위한 에이전트가 컨테이너로서 존재하며 분산 콘테이너 또한 외부에 별도로 존재해야 함.
    <-> 스웜 모드는 에이전트가 도커 자체에 내장돼 있어 이를 별도로 설치할 필요가 없으며, 외부 분산 코디네이터를 설치할 필요도 없음.
    (스웜 모드가 스웜에 비해 설치와 사용이 더욱 쉽고 간편)
  • 도커 스웜은 여러 대의 도커 서버를 하나의 지점에서 사용하도록 단일 접근점을 제공하는데 초점을 둠.
    <-> 스웜모드는 웹 서비스 컨테이를 다루기 위한 클러스터링 기능에 초점을 둠.
  • 도커 스웜은 doker run, docker ps 등 일반적인 명령어로 클러스터의 서버를 제어하고 관리할 수 있는 기능을 제공함.
    <-> 스웜모드는 같은 컨테이너를 동시에 여러 개 생성해 필요에 따라 유동적으로 컨테이너의 수를 조절할 수 있으며, 컨테이너로의 연결을 분산하는 로드밸런싱 기능을 자체적으로 지원함.

3.3 도커 스웜 모드

3.3.1 도커 스웜 모드의 구조
3.3.2 도커 스웜 모드 클러스터 구축

//--advertise-addr에 다른 도커 서버가 매니저 노드에 접근하기 위한 IP주소 입력 (매니저 노드가 될 서버에서 입력)
docker swarm init --advertise-addr 192.168.0.100

//토큰을 사용해 워커 노드를 추가 (워커 노드로 사용할 각 서버에서 입력)
docker swarm join --token [token~] [ip~]

//매니저 노드에서 도커 서버가 정상적으로 클러스터에 추가됐는지 확인
docker node ls

//새로운 매니저 노드를 추가하기 위한 토큰 확인
docker swarm join-token manager

//워커 노드를 추가하기 위한 토큰 확인
docker swarm join-token worker

//토큰 갱신 (매니저 노드에서만 실행 가능)
docker swarm join-token --rotate manager

//워커 노드 삭제 (해당 워커 노드에서 실행) 
docker swarm leave

//정지된 워커노드를 매니저 노드에서 직접 삭제
docker swarm rm node01

//매니저 노드를 삭제하려면 --force 필요
docker swarm leave --force

//워커 노드를 매니저 노드로 변경
docker node promote swarm-worker1

//매니저 노드를 워커 노드로 변경
docker node demote swarm-worker1


3.3.3 스웜 모드 서비스

스웜 모드에서 제어하는 단위는 컨테이너가 아닌 서비스. 서비스는 같은 이미지에서 생성된 컨테이너의 집합. 서비스 내에 컨테이너는 1개 이상 존재할 수 있으며, 각 워커 노드와 매니저 노드에 할당됨. (≒태스크(Task))

3.3.3.1 스웜 모드 서비스 개념
3.3.3.2 서비스 생성
3.3.3.3 스웜 모드의 서비스 장애 복구
3.3.3.4 서비스 롤링 업데이트
3.3.3.5 도커 스웜 네트워크
3.3.3.6 서비스 디스커버리
3.3.3.7 스웜 모드 볼륨

3.3.4 도커 스웜 모드 노드 다루기

3.4 도커스웜

3.4.1 도커 스웜과 스웜 모드의 차이점
3.4.2 도커 스웜 클러스터 구축
3.4.3 도커 스웜 사용
3.4.4 도커 스웜 스케쥴러

2.4.1 이미지를 생성하는 방법

2.4.2 Dockerfile 작성

FROM ubuntu:14.04
MAINTAINER alicek106
LABEL "purpose"="practice"
RUN apt-get update
RUN apt-get install apche2 -y
ADD test.html /var/www/html
WORKDIR /var/www/html
RUN ["/bin/bash", "-c", "echo hello>>test2.html"]
EXPOSE 80
CMD apachectl -DFOREGROUND

2.4.3 Dockerfile 빌드

//-t옵션은 생성될 이미지의 이름을 설정함. 
docker build -t mybuild:0.0 ./

//-P 옵션은 이미지에 설정된 EXPOSE의 모든 포트를 호스트에 연결하도록 설정함.
docker run -d -P --name myserver mybulid:0.0

// -f 또는 --file 옵션으로 Dockerfile의 이름을 지정할 수 있음
docker build -f Dockerfile2 -t mycache:0.0 ./

//--no-cache 옵션으로 캐쉬 사용하지 않기
docker build --no-cache -t mybuild:0.0 .

2.4.4 기타 Dockerfile 명령어

2.4.4.1 ENV, VOLUME, ARG, USER

  • ENV : Dockerfile에서 사용될 환경변수 지정
  • VOLUME : 빌드된 이미지로 컨테이너를 생성했을 때 호스트와 공유할 컨테이너 디렉터리 설정
  • ARG : build 명령어를 실행할 때 변수 입력받아 Dockerfile 내에서 변수 값 설정
  • USER : 컨테이너 내에서 사용될 사용자 계정의 이름이나 UID 설정

2.4.4.2 Onbuild, Stopsignal, Healthcheck, Shell

  • ONBUILD : 빌드된 이미지를 기반으로 하는 다른 이미지가 Dockerfile로 생성될 때 실행할 명령어 추가
  • STOPSIGNAL : 컨테이너가 정지될 때 사용될 시스템 콜 종류 지정
  • HEALTHCHECK : 컨테이너에서 동작하는 어플리케이션의 상태를 체크하도록 설정
  • SHELL : 기본으로 사용하는 쉘을 따로 지정

2.4.4.3 ADD, COPY

  • COPY는 로컬의 파일만 이미지에 추가할 수 있음. ADD는 외부 URL 및 tar 파일에서도 파일을 추가할 수 있음. (COPY의 기능이 ADD에 포함)
  • 어떤 파일이 추가될지 명확히 알 수 있는 COPY 사용을 권장

2.4.4.4 ENTRYPOINT, CMD

  • entrypoint와 CMD는 동일하게 컨테이너가 시작될 때 수행할 명령을 지정한다는 점에서 같음
  • entrypoint는 CMD를 인자로 받아 사용할 수 있는 스크립트의 역할을 할 수 있다는 점에서 다름
  • entrypoint가 설정되지 않았다면 CMD에 설정된 명령어를 그대로 실행하지만, entrypoint가 설정됐다면 cmd는 단지 entrypoint에 대한 인자의 기능을 함

2.4.5 도커 허브에서 Dockerfile로 빌드

2.4.6 Dockerfile로 빌드할 때 주의할 점

  • \(역슬래시)로 나눠서 가독성 높일 수 있도록 작성
  • 빌드 캐시를 이용해 기존에 사용했던 이미지 레이어를 재사용
  • &&로 각 RUN 명령어를 하나로 묶기 (이미지 레이어 수 줄어듬)

2.3.1 도커 이미지 생성

//commit의 옵션을 지정하고 커밋할 컨테이너의 이름을 명시한 뒤 생성될 이미지의 이름을 입력
docker commit [OPTIONS] CONTAINTER [REPOSITORY[:TAG]]

//-a옵션은 이미지 작성자, -m옵션은 커밋 메시지
//아래 명령은 commit_test라는 컨테이너를 commit_test:first라는 이름의 이미지로 생성
docker commit \
-a "hong" -m "my first commit" \
commit_test \
commit_test:first

2.3.2 이미지 구조 이해

//docker history 명령은 이미지가 어떤 레이어로 생성됐는지 출력
docker history commit_test:second

//이미지 삭제 
docker rmi commit_test:first

//컨테이너가 사용 중인 이미지를 강제 삭제
docker rmi -f ~

//댕글링 이미지 삭제
docker images -f dangling=true

//사용 중이지 않은 댕글링 이미지 한번에 삭제
docker image prune

2.3.3 이미지 추출

//이미지의 모든 메타데이터를 하나의 파일로 추출
docker save -o ubuntu_14_04.tar ubuntu:14.04

//추출된 이미지 도커에 다시 로드
docker load -i ubuntu_14_04.tar

//export 명령어로 이미지 추출
docker export -o rootFS.tar mycontainer

//import 명령어로 이미지 다시 저장
docker import rootFS.tar myimage:0.0

2.3.4 이미지 배포

도커 허브 저장소

//이미지 이름의 접두어를 이미지가 저장되는 저장소 이름으로 설정해야함
//docker tag [기존의 이미지 이름] [새롭게 생성될 이미지 이름]
docker tag myimage:0.0 yorez/myimage:0.0

//도커 허브 서버에 로그인
//도커 엔진에서 로근한 정보 => /[계정명]/.docker/config.json 파일에 저장
docker login

//이미지를 저장소에 업로드
docker push yorez/myimage:0.0

//이미지 다운로드
docker pull yorez/myimage:0.0

https://hub.docker.com/

 

Docker Hub

Docker Certified:Trusted & Supported Products Certified Containers provide ISV apps available as containers. Certified Plugins for networking and volumes in containers. Certified Infrastructure delivers an optimized and validated Docker platform for enterp

hub.docker.com

도커 사설 레지스트리

// 도커 이미지로 도커 사설 레지스트리 생성
docker run -d --name myregistry \
-p 5000:5000 \
--restart=always \
registry:2.6

// 사설 레지스트리 주소로 접두어 설정 필요
docker tag myimage:0.0 ${DOCKER_HOST_IP}:5000/myimage:0.0

docker push ${DOCKER_HOST_IP}:5000/myimage:0.0
docker pull ${DOCKER_HOST_IP}:5000/myimage:0.0

2.2.1 컨테이너 생성

//run 명령어로 컨테이너를 생성. (-i -t 옵션은 컨테이너와 상호 입출력을 가능하게 함.)
docker run -i -t ubuntu:14.04

//컨테이너 내부에서 빠져나오는 방법 (컨테이너 정지)
exit
Ctrl + d

//컨테이너 정지시키지 않고 빠져나오려면 ?
Ctrl +P, Q

//이미지 내려받기
docker pull centos:7

//이미지 목록 출력
docker images

//create 명령어로 컨테이너 생성
docker create -i -t --name mycentos centos:7

//컨테이너 내부로 들어가지 않고 생성
docker start mycentos

//컨테이너 내부로 들어가기
docker attach mycentos

run 명령어 순서 : 

  1. docker pull (이미지가 없을 때)
  2. docker create
  3. docker start
  4. docker attach (-i -t 옵션을 사용했을 때)

create 명령어 순서 :

  1. docker pull (이미지가 없을 때)
  2. docker create

2.2.2 컨테이너 목록 확인

//컨테이너 목록 확인
docker ps

//컨테이너 전체 ID확인
docker inspect mycentos | grep Id

//컨테이너 이름 변경
docker rename mycentos mycentos2

2.2.3 컨테이너 삭제

//컨테이너 삭제
docker rm mycentos

//실행중인 컨테이너 멈추고 삭제
docker stop mycentos
docker rm mycentos

//실행중인 컨테이너 강제 삭제
docker rm -f mycentos

//모든 컨테이너 삭제
docker container prune

//-a, -q옵션을 조합해 컨테이너 삭제
//-a는 상태와 관계없이 모든 컨테이너를, -q는 컨테이너의 ID만 출력하는 역할
docker ps -a -q

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

2.2.4 컨테이너를 외부에 노출

//-p 옵션으로 컨테이너의 포트를 호스트의 포트와 바인딩, [호스트의 포트]:[컨테이너의 포트]
docker run -i -t --name mywebserver -p 80:80 ubuntu:14.04

//호스트의 특정 ip를 바인딩
docker run -i -t -p 3306:3306 -p 192.168.0.100:7777:80 ubuntu:14.04

2.2.5 컨테이너 애플리케이션 구축

//-d : Detached 모드로 컨테이너를 실행. 컨테이너를 백그라운드에서 동작하는 애플리케이션으로써 실행
//-e : 컨테이너 내부의 환경변수를 설정
docker run -d \
--name wordpressdb \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_DATABASE=wordpress \
mysql:5.7

//-link : 내부IP를 알 필요 없이 다른 컨테이너에 별명으로 접근하도록 설정
docker run -d \
-e WORDPRESS_DB_PASSWORD=password \
--name wordpress \
--link wordpressdb:mysql \
-p 80 \
wordpress

//호스트와 바인딩 된 포트 확인
docker port wordpress

//exec 명령어를 사용하면 컨테이너 내버에서 명령어를 실행한 뒤 그 결괏값을 반환받을 수 있음
docker exec wordpress ls

2.2.6 도커 볼륨

  • 호스트 볼륨 공유
//-v [호스트의 공유 디렉터리]:[컨테이너 공유 디렉터리]
docker run -d \
--name wordpressdb_hostvolume \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_DATABASE=wordpress \
-v /home/wordpress_db:/var/lib/mysql \
mysql:5.7

docker run -d \
-e WORDPRESS_DB_PASSWORD=password \
--name wordpress_hostvolume \
--link wordpressdb_hostvolumn:mysql \
-p 80 \
wordpress
  • 볼륨 컨테이너
//--volumes-from 옵션을 설정하면 -v 또는 --volume 옵션을 적용한 컨테이너의 볼륨 디렉터리를 공유할 수 있음
//볼륨 컨테이너에 연결해 데이터를 간접적으로 공유받는 방식
docker run -i -t \
--name volumes_from_container \
--volumes-from volume_override \
ubuntu:14.04
  • 도커 볼륨
//도커 자체에서 제공하는 볼륨 기능을 활용해 데이터를 보존
docker volume create --name myvolume

//생성된 볼륨 확인
docker volume ls

//[볼륨의 이름]:[컨테이너의 공유 디렉터리]
docker run -i -t --name myvolume_1 \
-v myvolume:/root/ \
ubuntu:14.04

//docker inspect를 통해 컨테이너, 이미지, 볼륨 등 도커의 모든 구성 단위의 정보를 확인
//볼륨의 실제 저장 위치 확인
docker inspect --type volume myvolume

//볼륨 자동 생성. -v 옵션에 공유 디렉터리 위치만 입력.
docker run -i -t --name volume_auto \
-v /root \
ubuntu:14.04

//볼륨 일괄 삭제
docker volume prune

2.2.7 도커 네트워크

도커 네트워크 기능

//네트워크 목록 확인
docker network ls

//네트워크의 자세한 정보
docker network inspect ~
docker inspect --type network

브리지 네트워크

//새로운 브리지 네트워크 생성
docker network create --driver bridge mybridge

//mybridge 네트워크를 사용하는 컨테이너 생성
docker run -i -t --name mynetwork_container \
--net mybridge \
ubuntu:14.04

//서브넷, 게이트웨이, IP할당 범위 등을 임의로 설정
docker network create --driver=bridge \
--subnet = 172.72.0.0/16 \
--ip-range = 172.72.0.0/24 \
--gateway = 172.72.0.1 \
my_custom_network

호스트 네트워크

//호스트의 네트워크 환경을 그대로 사용
//컨테이너의 네트워크를 호스트 모드로 설정하면 컨테이너 내부의 애플리케이션을 별도의 포트 포워딩 없이 바로 쓸 수 있음
docker run -i -t --name network_host \
--net host \
ubuntu:14.04

논 네트워크

//none 옵션을 사용하면 외부와 연결 단절
docker run -i -t --name network_none \
--net none \
ubuntu:14.04

컨테이너 네트워크

//--net 옵션으로 container를 입력하면 다른 컨테이너의 네트워크 환경을 공유할 수 있음
docker run -i -t -d --name network_container_1 ubuntu:14.04

docker run -i -t -d --name network_container_2 \
--net container:network_container_1 \
ubuntu:14.04 

브리지 네트워크와 --net-alias

//브리지 타입의 네트워크와 run 명령어의 --net-alias 옵션을 함께 쓰면 특정 호스트 이름으로 컨테이너 여러 개에 접근할 수 있음
docker run -i -t -d --name network_alias_container_1 \
--net mybridge \
--net-alias alicek106 ubuntu:14.04

docker run -i -t -d --name network_alias_container_2 \
--net mybridge \
--net-alias alicek106 ubuntu:14.04

docker run -i -t -d --name network_alias_container_3 \
--net mybridge \
--net-alias alicek106 ubuntu:14.04


//컨테이너 생성 후 ping 요청하면 세개의 컨테이너가 교대로 응답함
docker run -i -t -d --name network_alias_ping \
--net mybridge \
ubuntu:14.04

ping -c alicek106

//dig로 도메인 이름에 대응하는 IP조회
apt-get update
apt-get install dnsutils
dig alicek106

2.2.8 컨테이너 로깅

json-file 로그 사용하기

docker run -d --name no_passwd_mysql \
mysql:5.7

//docker logs명령어로 컨테이너의 표준 출력 확인
docker logs no_passwd_mysql

//--tail 옵션으로 마지막 로그 줄부터 출력할 수 지정
docker logs --tail 2 mysql

//--since 옵션으로 특정 시간 이후의 로그 확인
docker logs --since 1474765979 mysql

//-t 옵션으로 타임스태프 표시, -f옵션으로 로그를 스트림으로 확인
docker logs -f -t mysql

syslog 로그
fluentd 로깅
아마존 클라우드워치 로그

2.2.9 컨테이너의 자원 할당 제한

컨테이너 메모리 제한
컨테이너 CPU 제한
Block I/O 제한
컨테이너 저장 공간 설정

'개발 도서 > 시작하세요!도커' 카테고리의 다른 글

02 도커 엔진 - 2.4 Dockerfile  (0) 2020.06.08
02 도커 엔진 - 2.3 도커 이미지  (0) 2020.06.07
02 도커 엔진 - 2.1 도커 이미지와 컨테이너  (0) 2020.06.07
01 도커란?  (0) 2020.06.07
목차  (0) 2020.06.07

2.1 도커 이미지와 컨테이너

2.1.1 도커 이미지

컨테이너를 생성할 때 필요한 요소 (iso)

2.1.2 도커 컨테이너

이미지로 생성된 목적에 맞는 파일이 들어 있는 파일 시스템과 격리된 시스템 자원 및 네트워크를 사용할 수 있는 독립된 공간

'개발 도서 > 시작하세요!도커' 카테고리의 다른 글

02 도커 엔진 - 2.4 Dockerfile  (0) 2020.06.08
02 도커 엔진 - 2.3 도커 이미지  (0) 2020.06.07
02 도커 엔진 - 2.2 도커 컨테이너 다루기  (0) 2020.06.07
01 도커란?  (0) 2020.06.07
목차  (0) 2020.06.07

1.1 가상 머신과 도커 컨테이너

가상 머신과 도커 컨테이너의 차이. 도커 컨테이너의 장점

1.2 도커 엔진 설치 

1.2.1 리눅스 도커 엔진 설치

1.2.2 윈도우, 맥 OS에 도커 설치

도커 툴박스, Docker for Windows, Docker for Mac을 설치할 경우 모두 도커 엔진, 도커 컴포즈, 도커 머신이 함께 설치됨.

1.2.3 Docker Toolbox와 Docker for Windows/Mac의 차이점

전자는 가상 머신을 생성해 그 내부에 도커를 설치함. 후자는 호스트 자체에 가상화 기술을 적용함. 이는 도커 컨테이너를 생성한 뒤 외부에서 접근하는 방법의 차이가 있음. (전자 : 이중 포트 포워딩, 후자 : 포트 포워딩)

1.2.4 리눅스 환경에 도커 마련하기

도커는 원래 리눅스에서 작동하는 데 최적화돼 있으므로 윈도우, 맥 OS X에서 도커를 사용하면 일부 기능이 제약될 수 있음.
리눅스 물리 서버를 구축 하기 위해 버추얼박스, VMWare,  AWS EC2를 사용

01장 도커란?

1.1 가상 머신과 도커 컨테이너
1.2 도커 엔진 설치

02장 도커 엔진

2.1 도커 이미지와 컨테이너
2.2 도커 컨테이너 다루기
2.3 도커 이미지
2.4 Dockerfile
2.5 도커 데몬

03장 도커 스웜

3.1 도커 스웜을 사용하는 이유
3.2 도커 스웜과 도커 스웜 모드
3.3 도커 스웜 모드
3.4 도커 스웜

04장 도커 머신

4.1 도커 머신을 사용하는 이유
4.2 도커 머신 사용

05장 도커 컴포즈

5.1 도커 컴포즈를 사용하는 이유
5.2 도커 컴포즈 설치
5.3 도커 컴포즈 사용

06장 도커 플러그인

6.1 도커 플러그인이란?
6.2 도커 볼륨 플러그인
6.3 도커 네트워크 플러그인

07장 도커 솔루션

7.1 쿠버네티스
7.2 아파치 메소스
7.3 랜처

 

+ Recent posts