MEDIUM 에서 원문 보기

안녕하세요? 이전 포스팅에서 컨테이너와 쿠버네티스의 개념에 대해 간단하게 설명해 드렸었는데요, 오늘은 컨테이너를 쉽게 실습하는 방법을 설명해 드리고자 합니다. 시작하기 이전에, 컨테이너는 애플리케이션과 애플리케이션을 구동하는 환경을 담은 격리 공간이라는 것을 꼭 기억해주세요!

오늘의 실습은 Flow 1Flow 2로 구분됩니다.
– 첫 번째 실습(Flow 1)에서는 이미 만들어진 Docker Image로 컨테이너를 만들어 보겠습니다.
– 두 번째 실습(Flow 2)에서는 Dockerfile을 직접 작성하여 컨테이너를 만들고 docker hub에 배포해보겠습니다.

Flow 1

1. Docker Hub의 Repository에서 이미지를 불러옵니다.
2. 해당 이미지로 컨테이너를 생성 및 구동합니다.
3. 브라우저로 컨테이너의 웹 서비스를 확인합니다.

Containerization 실습

만약 도커가 없으시다면 아래 링크에서 설치해주세요!
https://www.slideshare.net/pyrasis/docker-fordummies-44424016 (85p부터 참고하시면 됩니다.)

1. 제가 만든 웹 애플리케이션과 그 환경이 담겨있는 Docker Image를 불러오겠습니다.

docker pull dodghek/kubernetes

2. 불러온 Image로 컨테이너를 생성합니다.

docker run -p 8855:80 --name youngho dodghek/kubernetes

  2-1. 컨테이너의 상태를 확인해볼까요?

docker ps -l

  * 컨테이너가 정상적으로 구동되고 있습니다 (Up 15 seconds)
  * 8855번 포트를 기억해두세요! 브라우저에서 접속할 때 사용할 것 입니다.


3. 브라우저에서 컨테이너에 접속해보겠습니다.
브라우저 창에서 IP:8855로 접속합니다.

* Developer Works Korea 홈페이지를 모방한 웹 애플리케이션을 확인하실 수 있습니다.



Flow 2

1. 이미지를 만들기 위한 Dockerfile을 작성합니다.
2. 이미지로 컨테이너를 생성 및 구동시킵니다.
3. 브라우저로 컨테이너의 웹 서비스를 확인합니다.
4. 공개 저장소인 Docker hub에 이미지를 올립니다.

Dockerization 실습

1. 도커파일을 작성합니다.

vi Dockerfile

  

  1.1 도커파일로 이미지를 생성합니다.

docker build -f Dockerfile -t myimage .

  * 태그옵션 -t 다음에 마침표(.)가 필요합니다.

2. 이미지로 컨테이너를 생성합니다.

docker run -p 8866:80 --name youngho2 myimage

3. 8866번 포트로 컨테이너에 접속합니다.

IP:8866으로 브라우저에 접속합니다. 정상적으로 Web Application이 작동한다면,

4. 공개 저장소인 Docker Hub에 이미지를 올려보겠습니다.

  4-1 먼저 도커 계정 생성을 생성해주세요.

https://hub.docker.com/

  4-2 도커 Hub에 로그인합니다 (위에서 생성한 ID, PW 입력).
  

  4-3 이미지의 버전을 관리하기 위해 태그를 추가합니다.

docker tag myimage dodghek/myimage:0.1

  * 빗금(/)앞에는 사용자의 계정을 적어야 합니다.

  4-4 도커 Hub에 태그가 적용된 이미지를 올려보겠습니다.

docker push dodghek/myimage:0.1

  

5. Hub의 Repositories에 새로운 저장소가 생긴 것을 확인하실 수 있습니다.


TIP

도커 컨테이너에 직접 접속하기

docker exec -it 컨테이너이름 /bin/bash

컨테이너에 접속한 후, 패키지 설치하지

apt-get update
apt-get install 패키지명

컨테이너 삭제하기

docker rm 컨테이너의 이름

이미지 삭제하기

docker rmi 이미지

도커 허브에서 이미지 검색하기

docker search 검색어

이미지를 개발 환경으로 불러오기

docker pull 이미지이름

참고문헌

도커 공식 페이지 : https://docs.docker.com/