CentOS 8에서 도커(Docker)를 설치하고 기본적인 환경 구성을 하는 내용을 정리합니다.
테스트 환경
ㅇ OS : CentOS 8
[root@jackerlab workspace]$ uname -a
Linux localhost.localdomain 4.18.0-147.5.1.el8_1.x86_64 #1 SMP Wed Feb 5 02:00:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@jackerlab wworkspace]$ cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
ㅇ 테스트 계정 : root
Docker 설치
(venv) [root@jackerlab frontend]# docker -v
bash: docker: 명령을 찾을 수 없습니다...
ㅇ Docker install 가이드
https://docs.docker.com/install/linux/docker-ce/centos/
Docker 사이트에서 가이드하는 설치 방법으로 진행을 하였습니다.
centos 7 이하의 경우는 yum을 사용하면 될 것이고 centos 8 에서는 dnf라는 새로운 패키지 관리 명령어를 사용하여야 정상적으로 되는 것을 확인할 수 있었습니다.
그리고 위 사이트에서 가이드한 명령어 만으로는 에러가 확인되고 에러에 –nobest를 추가해보라고 하여 추가 후, Docker 설치를 진행하였습니다.
(venv) [root@jackerlab frontend]# dnf install docker-ce docker-ce-cli containerd.io --nobest
마지막 메타 데이터 만료 확인 : 0:07:38 전에 2020년 02월 09일 (일) 오전 08시 43분 33초.
Dependencies resolved.
문제: package docker-ce-3:19.03.5-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
- cannot install the best candidate for the job
- package containerd.io-1.2.10-3.2.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.el7.x86_64 is excluded
- package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
=======================================================================================================
Package Architecture Version Repository Size
=======================================================================================================
Installing:
containerd.io x86_64 1.2.0-3.el7 docker-ce-stable 22 M
docker-ce x86_64 3:18.09.1-3.el7 docker-ce-stable 19 M
docker-ce-cli x86_64 1:19.03.5-3.el7 docker-ce-stable 39 M
Installing dependencies:
libcgroup x86_64 0.41-19.el8 BaseOS 70 k
Skipping packages with broken dependencies:
docker-ce x86_64 3:19.03.5-3.el7 docker-ce-stable 24 M
Transaction Summary
=======================================================================================================
설치 4 Packages
버킷 1 Package
(venv) [root@jackerlab frontend]# docker -v
Docker version 19.03.5, build 633a0ea
(venv) [root@jackerlab frontend]#
ㅇ Docker 서비스 구동
Docker 설치 후, 명령어를 사용해보면 서비스 데몬이 실행되어 있지 않다고 확인됩니다.
(venv) [root@jackerlab frontend]# docker image ls
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
(venv) [root@jackerlab frontend]# systemctl start docker
(venv) [root@jackerlab frontend]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
(venv) [root@jackerlab frontend]#
Docker 서비스 데몬을 구동하고 나서 docker 명령어가 정상 실행되는 것을 확인할 수 있습니다.
기타
CentOS 7 환경에서 테스트를 했을 때는 아래와 명령어로 진행을 했었습니다.
# try 1
curl -s https://get.docker.com/ | sudo sh
# try 2
yum install docker-ce docker-ce-cli containerd.io --nobest
마치며
평소에 Docker 설치 및 사용을 할 때 어려움을 느끼지 못했는데 CentOS 8 환경에서 처음 진행을 하면서 막히는 부분이 있었습니다.
CentOS 8에서는 패키지 관리를 위하여 향후에는 yum 보단 dnf를 사용할 것이라는 내용을 어디선가 본 듯합니다.
향후에는 CentOS 8 환경에서의 변경사항 및 명령어들을 서치해보고 정리를 해보아야 하겠습니다.