본문 바로가기
카테고리 없음

[docker] Rocky Linux 8에 docker 설치하기

by 이뫼장 2023. 12. 22.

 

 

Rocky Linux는 RHEL의 버그까지 재현하겠다는 목표로 제작된 배포판 리눅스이다. 

RHEL 7 에서 RHEL 8으로 변환되면서 많은 것들이 변경되어 Rocky Linux 8에 Docker 설치하는 법을 알아보려 한다.

 

 

 

1. 사전 패키지 설치

설치는 인터넷이 가능한 환경 하에서 진행한다. (폐쇄망 설치법은 추후 업데이트 예정)

 

DNS 서버 등록

echo "nameserver 168.126.63.1" >> /etc/resolv.conf
  • 이미 DNS 설정이 되어 있다면 skip..

 

dnf-utils 설치

dnf install -y dnf-utils

 

 

docker 레포지토리 추가

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

 

 

리포리스트 확인

dnf repolist -v

 

2. Docker 설치

dnf로 install을 설치하면 아래와 같이 오류가 발생한다.

기본적으로 RHEL 계열 8버전 부터는 컨테이너 관리 엔진을 docker에서 podman/buildah/skopeo로 변경 되었다.

[root@rocky-test-001 ~]# dnf install -y docker-ce
마지막 메타자료 만료확인(0:01:51 이전): 2023년 12월 22일 (금) 오후 03시 41분 50초.
오류: 
 문제: package docker-ce-3:24.0.7-1.el8.x86_64 from docker-ce-stable requires containerd.io >= 1.6.4, but none of the providers can be installed
  - package containerd.io-1.6.10-3.1.el8.x86_64 from docker-ce-stable conflicts with runc provided by runc-1:1.1.9-1.module+el8.9.0+1420+91577025.x86_64 from appstream
  - package containerd.io-1.6.10-3.1.el8.x86_64 from docker-ce-stable obsoletes runc provided by runc-1:1.1.9-1.module+el8.9.0+1420+91577025.x86_64 from appstream
 (...중략...) 
  - 작업에 가장 적합한 선택을 설치 할 수 없습니다
  - package runc-1.0.0-56.rc5.dev.git2abd837.module+el8.5.0+681+c9a1951f.x86_64 from appstream is filtered out by modular filtering
  - package runc-1.0.0-66.rc10.module+el8.5.0+770+e2f49861.x86_64 from appstream is filtered out by modular filtering
  - package runc-1.0.0-73.rc95.module+el8.7.0+1152+ac778627.x86_64 from appstream is filtered out by modular filtering
  - package runc-1:1.1.5-2.module+el8.9.0+1445+07728297.x86_64 from appstream is filtered out by modular filtering
(충돌하는 꾸러미를 교체하려면 명령줄에 '--allowerasing'을 추가하세요 또는 '--skip-broken'는 설치 할 수 없는 꾸러미를 건너 뜁니다 또는 '--nobest'는 최적 후보의 꾸러미만 사용합니다)

 

 

충돌하는 패키지를 삭제하면서 설치해야 되기 때문에 --allowerasing 옵션을 사용해야 한다. 

dnf install -y docker-ce --allowerasing

 

 

3. 설치 확인 및 실행

버전 및 systemctl로 확인한다.

docker --version

 

systemctl status docker

 

 

서비스 enable 및 시작

systemctl enable docker
systemctl start docker

 

 

 

마치며..

기본적인 설치는 RHEL 7 계열과 동일하지만 dnf 명령어를 사용해서 설치한다는 점과 RHEL 8계열부터 기본으로 지정된 컨테이너 엔진의 변경으로 인해 --allowerasing 옵션을 사용해야 한다는점이 바뀌었다.

 

그 외 Docker 사용법은 동일하다.