Fedora에 Docker 설치하기
경고: Docker dnf 소스를 구성하지 않은 경우 dnf를 직접 사용하여 Docker를 설치하지 마십시오.
준비
시스템 요구 사항
Docker는 다음 버전의 Fedora 운영 체제를 지원합니다.
- 38
- 39
이전 버전 제거
이전 버전의 Docker는 docker
또는 docker-engine
이라고 불렸습니다. 이전 버전을 제거합니다.
$ sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
dnf가 이러한 패키지가 설치되어 있지 않다고 보고할 수 있습니다. /var/lib/docker/에 저장된 이미지, 컨테이너, 볼륨 및 네트워크는 Docker를 제거해도 자동으로 제거되지 않습니다.
리포지토리 설정
dnf-plugins-core 패키지(DNF 리포지토리를 관리하는 명령을 제공)를 설치하고 리포지토리를 설정합 니다.
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
Docker의 야간 또는 테스트 버전이 필요한 경우 다음 명령을 사용합니다.
$ sudo dnf config-manager --set-enabled docker-ce-test
야간 또는 테스트 Docker 버전을 비활성화하려면 다음을 사용합니다.
$ sudo dnf config-manager --set-disabled docker-ce-test
Docker 설치
최신 Docker
dnf
패키지 인덱스를 업데이트하고 docker-ce
패키지를 설치합니다.
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
GPG 키를 수락하라는 메시지가 표시되면 지문이 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35와 일치하는지 확인한 후 수락합니다.
이 명령은 Docker를 설치하지만 Docker를 시작하지는 않습니다. 또한 docker 그룹을 생성하지만 기본적으로 사용자를 그룹에 추가하지 않습니다.
특정 버전의 Docker
사용 가능한 버전을 나열하여 특정 버전의 Docker도 설치할 수 있습니다.
$ dnf list docker-ce --showduplicates | sort -r
docker-ce.x86_64 18.06.1.ce-3.fc28 docker-ce-stable
$ sudo dnf -y install docker-ce-18.06.1.ce
편의 스크립트를 사용하여 설치
테스트 또는 개발 환경의 경우, Docker는 Linux 배포판에 Docker를 설치하기 위한 편의 스크립트를 제공합니다. 이 스크립트는 --mirror
옵션을 사용하여 국내 소스에서 설치할 수도 있습니다.
야간 빌드를 설치하려면 스크립트를 test.docker.com에서 가져옵니다.
# $ curl -fsSL test.docker.com -o get-docker.sh
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
# $ sudo sh get-docker.sh --mirror AzureChinaCloud
스크립트를 실행한 후에는 모든 준비 작업을 자동으로 수행하고 시스템에 Docker의 최신 안정 버전을 설치합니다.
Docker 시작
$ sudo systemctl enable docker
$ sudo systemctl start docker
docker 사용자 그룹 설정
기본적으로 docker
명령은 Docker 엔진과 통신하기 위해 Unix 소켓을 사용합니다. root
사용자와 docker
그룹의 사용자만 Docker 엔진의 Unix 소켓에 액세스할 수 있습니다. 보안상의 이유로 대부분의 Linux 시스템에서는 root
사용자를 직접 사용하지 않습니다. 따라서 docker
를 사용해야 하는 사용자를 docker
사용자 그룹에 추가하는 것이 더 나은 방법입니다.
docker
그룹 생성:
$ sudo groupadd docker
현재 사용자를 docker
그룹에 추가:
$ sudo usermod -aG docker $USER
현재 터미널에서 로그아웃한 다음 다시 로그인하고 다음 테스트를 실행합니다.
Docker가 올바르게 설치되었는지 테스트
$ docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete
Digest: sha256:308866a43596e83578c7dfa15e27a73011bdd402185a84c5cd7f32a88b501a24
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
위의 정보가 올바르게 출력되면 설치가 성공적으로 완료된 것입니다.
참조 문서
- [Docker 공식 Fedora 설치 문서](https://docs.docker.com/install/linux/docker