본문 바로가기

프로젝트/클라우드 스터디

[1회차] 02. 도커 컨테이너 환경 구축(로키 리눅스)

1회차 글

01. 컨테이너 기술이란 무엇인가?
02. 도커 컨테이너 환경 구축(로키 리눅스)

 

도커 컨테이너 vs 도커 이미지 

도커 컨테이너  이미지를 실행할 수 있는 인스턴스로 만든 것
도커 이미지  객체 중 이미지는 Docker 컨테이너를 생성하기 위한 읽기 전용 템플릿

 

 

설치 및 기본적인 환경 설정

 도커 공식 문서 웹 페이지인 https://docs.docker.com/ 에 가면 운영체제 별 자세한 설치 방법을 알 수 있다.

도커 컨테이너로 배포를 할 때 보통 alpine Linex를 많이 사용한다. 이 운영체제의 최고 장점은 ‘가볍다’이다. 가벼운 배포 환경을 위해 도커 컨테이너 기술을 사용함으로 알파인 리눅스의 사용은 도커 컨테이너 기술에 최적이라 할 수 있다.

(알파인 리눅스에 도커 컨테이너 구축 방법 추가 예정)

 

rocky linux에 도커 컨테이너 환경을 구축하도록 하겠다. 

1. 설치 전 충돌 가능성 있는 패키지 제거

sudo dnf remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine \
                  podman \
                  runc

 

제거 후 업데이트를 해준다.

dnf check-update
dnf update

 

2. Docker 패키지 설치

 Docker 설치는 패키지 설치로 진행한다. 

 

1) 저장소 추가 

먼저 Docker의 공식 저장소를 추가해야 한다. 명령어 입력 시 아래와 같은 결과 화면이 나온다. 다음은 CentOS 전용 저장소이다. 

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

 

2) 추가된 저장소 확인 

dnf repolist 

 

 

3) 필수 패키지 설치

Docker 설치 전 dnf-plugins-core라는 패키지를 필수 설치해야 한다. 해당 패키지는 dnf패키지 관리자의 플러그인 모음이다. 설치 전 패키지 정보 확인 및 해당 패키지가 이미 설치되어 있는가 확인해 준다. 

dnf info dnf-plugins-core
rpm -qa dnf-plugins-core
dnf install dnf-plugins-core

 

 

4) Docker 설치 

Docker 환경을 구성하기 위해서는 5개의 패키지가 필요하다. 각각 Docker 엔진, Docker CLI 도구, Docker 컨테이너 런타임, Docker 빌드 확장 플러그인, Docker Compose 플러그인을 설치한다. y

sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin



설치 후 GPG 키 수락 메시지가 표시되면 지문이 일치하는지 확인하고 일치하면 마저 진행한다. 



5) Docker 서비스 시작 및 활성화 

 부팅 시 자동 실행되게 하고 싶으면 enable 옵션을 이용한다.

sudo systemctl start docker
sudo systemctl enable --now docker

 

5) 설치 확인 

 Docker가 올바르게 설치가 완료되었는지 확인하는 과정이 필요하다.  

sudo docker run hello-world 명령을 입력해 확인해 준다. 해당 명령어는 테스트 이미지를 다운하고, 컨테이너를 실행하여 Docker가 제대로 작동하는지 확인한다. 아래 사진과 같은 창이 뜬다면 설치가 잘 완료된 것이다. 

sudo docker run hello-world

 

hello-world 컨테이너가 제대로 작동하는지 확인해준다.  ps로 조회했을 때 아래 그림처럼 나온다면 잘 설치가 완료된 것이다. 

docker container ps -a