Docker Engin을 설치하려면 먼저 충돌하는 패키지를 제거해야 한다. 사용 중인 Linux 배포판에서 비공식 Docker 패키지를 제공할 수 있으며, 이는 Docker에서 제공하는 공식 패키지와 충돌할 수 있다. 이러한 패키지를 제거한 후에 공식 버전의 Docker 엔진을 설치해야 한다. 추가적으로 var/lib/docker/에 저장된 이미지, 컨테이너, 볼륨 및 네트워크는 Docker를 제거할 때 자동으로 제거되지 않는다.
sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
필요에 따라 다양한 방법으로 Docker 엔진을 설치할 수 있다. 설치 및 업그레이드 작업을 쉽게 하기 위해 Docker의 리포지토리를 설정하고 이 리포지토리에서 설치할 수 있다. (적극 권장)
다른 방법은 RPM 패키지를 다운로드하여 수동으로 설치하고 업그레이드를 완전히 수동으로 관리할 수 있다. 이 방법은 인터넷에 액세스할 수 없는 에어 갭 시스템에 Docker를 설치하는 등의 상황에서 유용하다.
여기서는 Docker의 리포지토리를 설정하고 이 리포지토리에서 설치하는 방법에 대해서만 설명하겠다.
1) Set up the repository
dnf 리포지토리를 관리하기 위한 명령을 제공하는 dnf-plugins-core 패키지를 설치하고 리포지토리를 설정한다.
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
2) Install Docker Engine
최신 버전을 설치하려면 다음 명령어를 입력한다.
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
GPG 키를 수락하라는 메시지가 표시되면 Fingerprint가 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35와 일치하는지 확인하고 일치하는 경우 수락한다.
시스템을 부팅할 때 Docker systemd 서비스가 자동으로 시작되도록 구성하도록 아래 명령어를 입력한다. 만약 Docker가 자동으로 시작되지 않도록 하려면 sudo systemctl start docker를 대신 사용하여도 상관없다.
sudo systemctl enable --now docker
마지막으로 hello-world image를 실행하여 설치가 성공적으로 완료되었는지 확인한다. 이 명령어는 테스트 이미지를 다운로드하여 컨테이너에서 실행하고, 컨테이너가 실행되면 확인 메시지를 출력하고 종료한다.
sudo docker run hello-world
위와 같이 확인 메시지가 출력되면, Docker Engin을 성공적으로 설치 및 시작했다고 보면 된다.
CentOS 8에서 PHP Upgrade (2) | 2024.12.28 |
---|---|
도커(Docker) 그룹에 사용자 계정 추가 (0) | 2024.12.27 |
CentOS 8 / RHEL 8 Repository (0) | 2024.12.27 |
CVE-2021-44832 Log4j Vulnerability (0) | 2021.12.29 |
CVE-2021-45105 Log4j Vulnerability (0) | 2021.12.23 |