공부하는 책
완벽한 IT 인프라 구축을 위한 Docker (2판)
복습을 위해 요약한 것.
목표
docker 책 3장 내용 숙지
- Docker를 설치한 후 튜토리얼로서 Nginx를 사용한 웹 서버 구축하는 절차 학습
3.1 Docker 설치와 작동 확인
3.1.1 Docker for Mac
- 다운받은 dmg 파일 설치
- Docker 실행
- 비번 입력
Docker Desktop 설정
- File Sharing: 클라이언트 PC 와 파일 공유
- Advanced: Docker에서 사용할 CPU, 메모리 조정
- Proxies: 프록시 서버를 경유하여 인터넷에 액세스하는 환경일 때 프록시 서버와 도메인 정보 설정
3.1.2 Docker for Window 생략
3.1.3 Linux에 설치하기 (실행안해봄)
[1] 설치 사전 준비
-
apt 패키지 리스트 업데이트
$ sudo apt-get update
-
패키지 설치 (HTTPS를 경유하여 레포지토리를 사용할 수 있도록 아래 명령을 실행하여 패키지 설치)
$ sudo apt-get install -y \ apt-transport-https \ ca-certificates \ curl \ sortware-properties-common
-
GPG 키 추가
$ curl -fsSl https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-
GPG 키 확인
$ sudo apt-key fingerprint 0EBFCD88
-
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 작동 확인
- http://localhost:80 (컨테이너 실행 PORT)
3.2.3 컨테이너 기동 및 정지
# docker start 컨테이너명
$ docker start webserver
# docker stop 컨테이너명
$ docker stop webserver