RHEL에 Docker Desktop 설치하기
RHEL에 Docker Desktop 설치하기
이 페이지는 Red Hat Enterprise Linux(RHEL) 배포판에 Docker Desktop을 설치하고, 실행하고, 업그레이드하는 방법을 설명해요.
본문
Docker Desktop 약관: 더 큰 기업(직원 250명 초과 또는 연간 매출 1천만 달러 초과)에서 Docker Desktop을 상업적으로 사용하려면 유료 구독이 필요해요.
사전 요구 사항
Docker Desktop을 성공적으로 설치하려면:
- 일반 시스템 요구 사항을 충족.
- 64비트 버전의 RHEL 9 또는 RHEL 10.
pass가 설치되어 있지 않거나 설치할 수 없다면 CodeReady Linux Builder(CRB) 리포지토리와 Extra Packages for Enterprise Linux(EPEL)을 활성화해야 해요.
RHEL 10:
$ sudo subscription-manager repos --enable codeready-builder-for-rhel-10-$(arch)-rpms
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
$ sudo dnf install pass
RHEL 9:
$ sudo subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
$ sudo dnf install pass
- GNOME 데스크톱 환경이라면 AppIndicator 및 KStatusNotifierItem GNOME 확장을 설치하고 EPEL도 활성화해야 해요.
RHEL 10 / RHEL 9:
$ # enable EPEL as described above
$ sudo dnf install gnome-shell-extension-appindicator
$ sudo gnome-extensions enable [email protected]
- GNOME을 사용하지 않는다면
gnome-terminal을 설치:
$ sudo dnf install gnome-terminal
Docker Desktop 설치하기
- Docker의 패키지 리포지토리를 설정해요.
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
- 최신 RPM 패키지를 다운로드해요.
- dnf로 패키지를 설치해요.
$ sudo dnf install ./docker-desktop-x86_64-rhel.rpm
RPM 패키지는 post-install 스크립트를 포함해요. 이 스크립트는:
- Docker Desktop 바이너리에 privileged 포트 매핑과 리소스 제한 설정 capability를 설정해요.
- Kubernetes용 DNS 이름을
/etc/hosts에 추가해요. /usr/local/bin/com.docker.cli에서/usr/bin/docker로의 심볼릭 링크를 만들어요. 클래식 Docker CLI가/usr/bin/docker에 설치되기 때문이에요. 래퍼가 클래식 Docker CLI에 접근할 수 있게 해줘요./usr/libexec/qemu-kvm에서/usr/local/bin/qemu-system-x86_64로의 심볼릭 링크를 만들어요.
Docker Desktop 실행하기
Linux용 Docker Desktop을 시작하려면 Gnome/KDE 데스크톱에서 Docker Desktop 애플리케이션으로 이동해 Docker Desktop을 선택해 Docker를 시작해요. Docker Subscription Service Agreement가 표시되면 Accept 를 선택해 계속 진행해요. 대안으로 터미널에서:
$ systemctl --user start docker-desktop
Docker Desktop은 시작 시 전용 컨텍스트를 만들어 현재 컨텍스트로 설정하고, 종료 시 이전 컨텍스트로 리셋해요.