Docker 설치 CentOS 7 및 Stream 2025년 최신 가이드 운영체제별 도커 설치 방법 상세 더보기

컨테이너 기술의 핵심인 Docker(도커)는 애플리케이션을 신속하게 구축, 배포 및 실행할 수 있게 해주는 플랫폼입니다. 특히 엔터프라이즈 환경에서 많이 사용되는 CentOS(센토스) 운영체제에 Docker를 설치하는 것은 개발 및 운영(DevOps) 환경 구축의 첫걸음입니다. CentOS는 CentOS 7, 그리고 최근에는 CentOS Stream으로 전환되어 공식적인 지원 환경에 변화가 있었기 때문에, 최신 가이드에 따라 설치하는 것이 중요합니다.

이 포스팅에서는 2025년 현재 시점을 기준으로 가장 보편적으로 사용되는 CentOS 7 환경과 최신 CentOS Stream 환경 모두에서 Docker Engine을 안정적으로 설치하는 방법을 상세하게 안내합니다. 특히, 2024년까지의 설치 트렌드와 2025년 최신 운영체제 지원 상황을 반영하여 오류 없이 도커 환경을 설정할 수 있도록 돕겠습니다.

CentOS 도커 설치 전 필수 조건 및 준비 사항 확인하기

CentOS에 Docker를 설치하기 전에는 몇 가지 필수 조건을 충족해야 합니다. Docker 공식 문서에 따르면, Docker Engine을 설치하려면 특정 버전의 커널과 패키지가 필요합니다. 현재 가장 많이 사용되는 CentOS 7 환경과 CentOS Stream 환경에 대한 준비 사항을 확인해 보세요.

  • CentOS 버전 확인: CentOS 7 (64-bit) 또는 CentOS Stream 8/9 버전인지 확인합니다. cat /etc/centos-release 명령어로 확인할 수 있습니다.
  • 커널 버전 업데이트: 시스템의 커널이 최신 상태인지 확인하고 필요하다면 업데이트해야 합니다. CentOS 7의 경우 최소한 3.10 버전 이상의 커널이 필요하지만, 최신 패치 적용을 권장합니다.
  • 기존 Docker 패키지 제거: 이전에 Docker 관련 패키지(docker, docker-client, docker-client-latest, 등)가 설치되어 있다면 충돌을 방지하기 위해 모두 제거해야 합니다.

설치 과정에서 발생할 수 있는 잠재적인 문제를 최소화하기 위해, 시스템 패키지 목록을 업데이트하고 필요한 유틸리티를 미리 설치하는 것이 좋습니다. 최신 패키지 업데이트는 보안 및 호환성 확보에 필수적입니다.

CentOS 7용 안정적인 Docker Repository 설정 방법 상세 더보기

CentOS 7에서 Docker를 설치하는 가장 권장되는 방법은 Docker 공식 Repository를 사용하는 것입니다. 이를 통해 가장 최신이면서도 안정적인 버전의 Docker Engine을 설치하고 관리할 수 있습니다.

다음은 CentOS 7 환경에서 Docker Repository를 설정하는 단계별 명령입니다. 루트 권한(sudo)으로 실행해야 합니다.

  1. 필요한 유틸리티 설치: yum-utils, device-mapper-persistent-data, lvm2 패키지를 설치합니다.
  2. sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  3. Docker Repository 등록: Docker의 안정적인(stable) Repository를 시스템에 추가합니다.
  4. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  5. Docker Engine 설치: 최신 버전의 Docker Engine (docker-ce), CLI (docker-ce-cli), 그리고 Containerd (containerd.io)를 설치합니다.
  6. sudo yum install docker-ce docker-ce-cli containerd.io

만약 특정 버전을 설치하고 싶다면, 두 번째 단계에서 yum list docker-ce --showduplicates | sort -r 명령을 통해 사용 가능한 버전을 확인한 후, 세 번째 단계에서 패키지 이름 뒤에 버전 문자열을 추가하여 설치할 수 있습니다 (예: docker-ce-<VERSION_STRING>).

CentOS Stream 환경에서 Docker 설치 및 구성 보기

CentOS Stream은 Red Hat Enterprise Linux(RHEL)의 개발 버전 역할을 하므로, RHEL과 유사한 패키지 관리 방식을 따릅니다. CentOS Stream 8 이상에서는 dnf 패키지 관리자를 주로 사용하며, 설치 과정은 CentOS 7과 유사하지만 명령어에 차이가 있습니다.

  1. 필요한 패키지 설치: dnf-utils와 기타 종속성을 설치합니다.
  2. sudo dnf install -y dnf-utils device-mapper-persistent-data lvm2
  3. Docker Repository 등록: CentOS Stream 버전(예: 8)에 맞는 Docker Repository를 등록합니다.
  4. sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  5. Docker Engine 설치: CentOS Stream에서는 dnf 명령을 사용합니다.
  6. sudo dnf install docker-ce docker-ce-cli containerd.io

RHEL 계열의 최신 운영체제에서는 과거에 사용하던 **Podman**과 같은 다른 컨테이너 런타임도 기본적으로 제공되지만, 글로벌 표준 및 호환성을 위해 Docker Engine을 별도로 설치하는 것이 일반적입니다.

설치 후 Docker 데몬 시작 및 활성화하기 확인하기

Docker 패키지 설치가 완료되었다고 해서 바로 사용할 수 있는 것은 아닙니다. 시스템 재부팅 후에도 Docker가 자동으로 실행되도록 설정하고, 현재 세션에서 Docker 서비스를 시작해야 합니다. 이는 CentOS 7/Stream 모두 동일합니다.

  1. Docker 데몬 시작: systemctl 명령을 사용하여 Docker 서비스를 시작합니다.
  2. sudo systemctl start docker
  3. Docker 자동 실행 설정: 시스템 부팅 시 Docker가 자동으로 시작되도록 설정합니다.
  4. sudo systemctl enable docker
  5. 설치 확인: Docker가 정상적으로 설치되고 실행되는지 테스트합니다. 공식 테스트 이미지를 실행해보는 것이 가장 확실합니다.
  6. sudo docker run hello-world

위 명령을 실행했을 때, ‘Hello from Docker!’ 메시지가 출력된다면 Docker 설치가 성공적으로 완료된 것입니다. 메시지가 보이지 않고 오류가 발생한다면 방화벽 설정(CentOS 7: firewalld, CentOS Stream: nftables)이나 SELinux 설정을 확인해야 합니다.

Non-Root 사용자를 위한 Docker 접근 권한 설정 상세 더보기

기본적으로 Docker 명령어는 보안상의 이유로 루트(root) 권한이나 sudo를 통해서만 실행할 수 있습니다. 매번 sudo를 입력하는 번거로움을 줄이고자 일반 사용자도 Docker를 사용할 수 있도록 권한을 설정하는 것이 일반적입니다.

  1. docker 그룹 생성: 설치 시 docker 그룹이 자동으로 생성되지만, 혹시 없다면 생성합니다.
  2. sudo groupadd docker
  3. 사용자 그룹 추가: 현재 사용자를 docker 그룹에 추가합니다. (여기서 $USER는 현재 로그인된 사용자 이름입니다.)
  4. sudo usermod -aG docker $USER
  5. 재로그인 또는 새 그룹 적용: 변경 사항을 적용하려면 시스템에서 로그아웃했다가 다시 로그인하거나, 다음 명령을 실행하여 현재 쉘 세션에 그룹 변경 사항을 적용합니다.
  6. newgrp docker

이후에는 sudo 없이도 docker ps와 같은 명령어를 실행할 수 있습니다. Non-Root 사용자에게 권한을 부여하는 것은 편리하지만, Docker 컨테이너를 통해 시스템 자원에 대한 접근 권한이 확장될 수 있으므로 보안에 유의해야 합니다.

Docker 설치 시 발생 가능한 문제 해결 팁 보기

CentOS 환경에서 Docker 설치 시 흔하게 발생하는 몇 가지 문제와 그 해결 팁입니다.

발생 문제 해결 방법
docker run hello-world 실패 Docker 서비스가 시작되었는지 sudo systemctl status docker로 확인하고, 방화벽(firewalld 또는 nftables)에서 외부 접근을 막고 있지 않은지 확인합니다.
Repository에 접근 불가 프록시 서버를 사용하고 있다면 환경 변수(HTTP_PROXY, HTTPS_PROXY)를 설정하거나, 네트워크 연결 상태를 확인합니다.
is not in the sudoers file 오류 사용자가 wheel 그룹에 포함되어 있지 않거나 sudoers 파일에 접근 권한이 없는 경우입니다. 관리자에게 문의하거나 usermod -aG wheel $USER 명령으로 그룹에 추가 후 재로그인합니다.
CentOS Stream에서 패키지 충돌 CentOS Stream 8 이상에서는 기본적으로 podman 등 다른 컨테이너 도구가 설치되어 있을 수 있습니다. 기존 패키지를 제거하거나 비활성화한 후 Docker를 설치해야 합니다.

Docker 환경은 지속적으로 업데이트되므로, 설치 과정에서 예상치 못한 오류가 발생하면 Docker 공식 문서의 CentOS 관련 문제 해결 섹션을 참고하는 것이 가장 정확합니다.


자주 묻는 질문 FAQ

Q: CentOS 7과 CentOS Stream 중 어떤 환경에 Docker를 설치해야 하나요?

A: 운영 환경의 안정성을 최우선으로 한다면, CentOS 7이 현재까지도 가장 널리 사용되고 검증된 환경입니다. 반면, 최신 기술을 빠르게 적용하고 RHEL의 미래를 대비한다면 CentOS Stream에 설치하는 것이 좋습니다. 대부분의 Docker 기능은 두 환경에서 동일하게 작동하지만, 패키지 관리 명령어(yum vs dnf)와 일부 시스템 설정에 차이가 있습니다.

Q: sudo 없이 Docker 명령어를 사용할 때 보안 문제는 없나요?

A: 일반 사용자에게 Docker 접근 권한을 부여하는 것은 편리하지만, 잠재적인 보안 위험이 따릅니다. docker 그룹에 속한 사용자는 컨테이너를 실행하여 루트 권한으로 파일을 읽거나 수정할 수 있는 등 시스템 전체에 영향을 줄 수 있는 작업을 수행할 수 있습니다. 따라서 신뢰할 수 있는 사용자에게만 권한을 부여해야 합니다.

Q: 설치 후 Docker 이미지 다운로드 속도가 너무 느린데 해결 방법이 있나요?

A: Docker 이미지 다운로드 속도가 느린 경우, Docker Hub가 아닌 국내 미러 서버(Mirror Registry)를 설정하여 속도를 개선할 수 있습니다. /etc/docker/daemon.json 파일을 생성하거나 수정하여 registry-mirrors 설정을 추가하고 Docker 서비스를 재시작하면 됩니다. 예를 들어, KT, Kakao 등의 미러 서버를 활용할 수 있습니다.