[docker] Docker 설치와 튜토리얼

develop, docker
written byzuhern1zuhern

in

2021. 02. 14


공부하는 책
완벽한 IT 인프라 구축을 위한 Docker (2판)
복습을 위해 요약한 것.

목표

docker 책 3장 내용 숙지

  • Docker를 설치한 후 튜토리얼로서 Nginx를 사용한 웹 서버 구축하는 절차 학습

3.1 Docker 설치와 작동 확인

3.1.1 Docker for Mac

Docker for Mac 다운로드

  1. 다운받은 dmg 파일 설치
  2. Docker 실행
  3. 비번 입력

Docker Desktop 설정

  • File Sharing: 클라이언트 PC 와 파일 공유
  • Advanced: Docker에서 사용할 CPU, 메모리 조정
  • Proxies: 프록시 서버를 경유하여 인터넷에 액세스하는 환경일 때 프록시 서버와 도메인 정보 설정

3.1.2 Docker for Window 생략

3.1.3 Linux에 설치하기 (실행안해봄)

[1] 설치 사전 준비

  1. apt 패키지 리스트 업데이트

    $ sudo apt-get update
  2. 패키지 설치 (HTTPS를 경유하여 레포지토리를 사용할 수 있도록 아래 명령을 실행하여 패키지 설치)

    $ sudo apt-get install -y \  
    apt-transport-https \  
    ca-certificates \  
    curl \  
    sortware-properties-common  
  3. GPG 키 추가

    $ curl -fsSl https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  4. GPG 키 확인

    $ sudo apt-key fingerprint 0EBFCD88
  5. repository 등록

    $ sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \  
    $(lsb_releas -cs) \  
    stable"  
    $ sudo apt-get update

[2] Docker 설치

$ sudo apt-get install docker-ce  

3.2.1 Hello world IN MAC

1.1 docker Desktop에 적힌 명령어 실행해 봄

% docker run -d -p 80:80 docker/getting-started
# -d: detach, 백그라운드에서 실행
# -p [호스트port]:[컨테이너port]: 포트 매핑
# Unable to find image 'docker/getting-started:latest' locally
# latest: Pulling from docker/getting-started
# aad63a933944: Pull complete
# b14da7a62044: Pull complete
# 343784d40d66: Pull complete
# 6f617e610986: Pull complete
# Digest: sha256:d2c4fb0641519ea208f20ab03dc40ec2a5a53fdfbccca90bef14f870158ed577
# Status: Downloaded newer image for docker/getting-started:latest
# eeee3f63fe34872778b1b9aa7476012fdc611bc5879e8a1a34158ff49c49bf07

[결과]

  • 컨테이너: mystifying_austin 생성 (default 컨테이너명인듯)
  • 이미지 다운로드: docker/getting-started:latest (image명:tag)
  • 상태: RUNNING PORT:80

1.2 책에 적힌 내용

# docker container run <Docker 이미지명> <실행할 명령>
$ docker container run ubuntu:latest /bin/echo 'Hello world'
# Unable to find image 'ubuntu:latest' locally
# latest: Pulling from library/ubuntu
# 83ee3a23efb7: Pull complete
# db98fc6f11f0: Pull complete
# f611acd52c6c: Pull complete
# Digest: sha256:703218c0465075f4425e58fac086e09e1de5c340b12976ab9eb8ad26615c3715
# Status: Downloaded newer image for ubuntu:latest
# Hello world

[결과]

  • 컨테이너: practical_tharp 으로 생성되고 안에 ‘Hello world’ 찍힘
  • 이미지 다운로드: ubuntu:latest (image명:tag)
  • 상태: exited(0)

3.2.2 명령어 몇개

# 버전 확인
$ docker version  
# 실행 환경 확인  
$ docker system info
# 디스크 이용 상황 확인  
$ docker system df

3.2 웹 서버를 작동시켜 보자

Nginx 환경 구축해보자

3.2.1 Docker 이미지 다운로드하기

$ docker pull nginx

[결과]

  • 이미지 다운로드: nginx:latest (image명:tag)

3.2.2 Nginx 작동 시켜보자

$ docker container run --name webserver -d -p 80:80 nginx

[결과]

  • 컨테이너: webserver 생성 (—name 으로 지정)
  • 상태: RUNNING PORT:80

3.2.3 Nginx 작동 확인

3.2.3 컨테이너 기동 및 정지

# docker start 컨테이너명
$ docker start webserver
# docker stop 컨테이너명
$ docker stop webserver