본문 바로가기
Kubernetes

[Lab] Docker로 컨테이너 구성

by SOHEE- 2020. 10. 12.

1. GCE Instance에 도커 설치

GCP콘솔(console.cloud.google.com)에서 Compute Engine으로 이동한 후 새로운 VM 인스턴스를 생성한다.

OS는 리눅스 계열로 선택

생성된 VM에 SSH로 접속하여 다음 명령어를 사용하여 도커를 설치한다.

apt-get update

apt-get install -y docker.io

 

 

2. nginx를 사용하는 컨테이너 구성

간단히 nginx 이미지로 컨테이너를 실행하려고 한다. 

컨테이너를 실행하는 순서로는 먼저 현재 호스트에 실행시킬 이미지가 없다면 도커 허브로부터 이미지를 다운로드(pull) 한다. 받은 이미지를 실행할 컨테이너 공간을 만들고(create) 컨테이너를 실행(start)한다.

run 명령어 하나로 pull, create, start를 한 번에 실행할 수 있다

컨테이너는 콘솔에서 분리되어(-d) 백그라운드로 실행된다. 로컬머신의 포트 80이 컨테이너 내부의 포트 80으로 매칭(-p 80:80)되어 웹 브라우저에서 localhost:80으로 접속할 수 있다.

 

 

3. 컨테이너 내부에서 애플리케이션 수정

VM에 접속하듯 컨테이너로 실행되고 있는 웹서버에 접속하여 설정을 직접 수정할 수 있다.

아래 사진은 web-nginx 이름을 가진 컨테이너로 접속하여 index.html 파일을 수정하는 모습이며, 작업 완료 후 컨테이너에서 빠져나오기 위해서는 exit를 입력한다.

새로고침으로 변경한 인덱스 설정이 적용되었는지 확인

 

 

4. 변경 사항을 반영한 새 이미지 공유

컨테이너 및 애플리케이션의 설정이 변경되었을 때 이를 반영한 새 이미지를 만들어 둘 수 있다.

Dockerfile을 사용해 이미지를 빌드하는 경우엔 build 명령어를 사용하고, 컨테이너에서 직접 작업하던 것을 그대로 이미지로 저장할 경우 commit 명령어를 사용한다. 

생성한 이미지를 다른 위치에서도 사용할 수 있게 하려면 도커 허브에 올려 공유한다. 도커 허브에 푸시할 이미지 명칭은 해당 허브 repository 명을 사용하고 있어야 하므로 commit 명령어 사용 시 새로운 태그 설정을 하거나, tag 명령어를 사용해 지정해준다. 

tag 명령어를 사용해 새로운 tag 설정

공개된 도커 허브에서 이미지를 다운로드하는 것은 누구나 가능하지만 이미지 업로드는 해당 저장소 사용자만 할 수 있다. 로그인 설정 후 이미지를 허브에 푸시한다. 

index.html을 변경한 컨테이너를 commit 후 도커 허브에 푸시하는 과정

 

 

5. 컨테이너 중지 및 삭제

더 이상 사용하지 않는 컨테이너는 삭제한다.

'Kubernetes' 카테고리의 다른 글

[Lab] Deployment 실행 및 삭제  (0) 2020.10.13
[Lab] ReplicaSet 실행 및 삭제  (0) 2020.10.13
[Lab] GKE 기본 구성 실습  (0) 2020.10.12