[Docker] CentOS 7에 Docker 설치하기

hwwwa·2023년 3월 18일
0
post-thumbnail

CentOS 7에 Docker 설치하기

🐳 Docker란?

  • 컨테이너 기반 가상화 플랫폼으로, 애플리케이션의 개발, 배포 및 실행을 단순하게 만들어주는 오픈소스 프로젝트
  • 도커는 가상화 기술 중 하나인 컨테이너 기술을 이용하여 서버 환경을 구성
    • 기존의 가상화 기술은 가상 머신(Virtual Machine, VM)을 이용하여 각각의 서버 환경을 구성하였지만, 도커는 호스트 OS와 커널을 공유하며, 각각의 애플리케이션을 독립적인 컨테이너로 구성하여 관리함
    • 이를 통해 빠르고 가볍게 애플리케이션을 실행할 수 있으며, 다양한 환경에서 애플리케이션을 배포하기 용이함
  • 또한 도커는 이미지(Image)라는 단위로 애플리케이션을 관리함
    • 이미지는 컨테이너를 생성하기 위한 뼈대
    • 도커 허브(Docker Hub)와 같은 이미지 저장소에서 공유 및 관리 가능
    • 애플리케이션을 개발 및 배포하는 과정에서 더욱 효율적이고 안정적인 환경을 제공 가능

🗑 이전 버전 Uninstall

sudo yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine
  • /var/lib/docker/에 저장된 이미지, 컨테이너, 볼륨, 네트워크는 자동으로 지워지지 않음. 수동으로 지우는 것 필요

📦 Docker Install

# yum-utiles 패키지 설치
sudo yum -y update
sudo yum install -y yum-utils

# repository 설정
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 최신 버전의 Docker Engine 설치
# sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 특정 버전의 Docker Engine 설치
# 설치 가능한 버전 목록 확인 (현재 최신 버전 23.0.1)
# yum list docker-ce --showduplicates | sort -r
version='23.0.1'
sudo yum install -y docker-ce-${version} docker-ce-cli-${version} containerd.io docker-buildx-plugin docker-compose-plugin

# Docker 실행
sudo systemctl start docker

# 부팅 시 Docker 데몬 자동 시작 설정
# sudo systemctl enable docker
  • Docker 실행 테스트
    • hello-world 예시 이미지 띄우기
sudo docker run hello-world
  • Docker 실행 여부 확인
$ systemctl status docker

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since 화 2023-03-14 11:00:53 KST; 3min 26s ago
     Docs: https://docs.docker.com
 Main PID: 14151 (dockerd)
    Tasks: 8
   Memory: 27.3M
   CGroup: /system.slice/docker.service
           └─14151 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
...
Hint: Some lines were ellipsized, use -l to show in full.

👩‍💻 root 권한이 아닌 일반 사용자로 Docker 관리하기

  • Docker 데몬은 항상 root 사용자로 실행됨
  • docker 명령어 사용 시 sudo를 사용하지 않으려면 docker 그룹을 생성하고 사용자 추가 필요
# docker 그룹 생성 (Docker 설치 시 자동으로 생성되어있을 수 있음)
sudo groupadd docker

# docker 그룹에 사용자 추가
sudo usermod -aG docker $USER

# 그룹 변경 사항 활성화
newgrp docker
  • sudo 명령어 없이 docker 명령어를 사용할 수 있는지 테스트
# 실행 중인 컨테이너 확인
docker container ls

# docker 이미지 목록 확인
docker images

🛫 부팅 시 Docker 자동 시작 설정

  • systemctl 명령어를 사용하여 부팅 시 docker가 자동으로 실행되도록 설정 가능
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
  • 자동 실행 설정을 해제하려면 disable 명령어 사용
sudo systemctl disable docker.service
sudo systemctl disable containerd.service

참고 링크

0개의 댓글