종속성 문제 없이 최신 Docker 버전을 설치하는 방법

종속성 문제 없이 최신 Docker 버전을 설치하는 방법

rhel 7.5 버전에 docker를 설치하기 위해 다음과 같은 내용을 준비합니다.

(목록에서https://download.docker.com/linux/centos/7/x86_64/stable/Packages/), 그리고 최신 정보만

curl https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-19.03.8-3.el7.x86_64.rpm -o docker.rpm
curl http://mirror.centos.org/centos/7.3.1611/extras/x86_64/Packages/docker-ce-selinux-17.03.3.ce-1.el7.noarch.rpm -o containerselinux.rpm
curl http://mirror.centos.org/centos/7.3.1611/extras/x86_64/Packages/docker-ce-cli-19.03.8-3.el7.x86_64.rpm     -o docker-ce-cli.rpm
curl http://mirror.centos.org/centos/7.3.1611/extras/x86_64/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm        -o containerd.io.rpm

파일은 다음과 같습니다

-rw-r--r--  1 root      root       25697324 May  8 13:17 docker.rpm
-rw-r--r--  1 root      root           7793 May  8 13:18 containerselinux.rpm
-rw-r--r--  1 root      root           7793 May  8 13:21 docker-ce-cli.rpm
-rw-r--r--  1 root      root           7793 May  8 13:24 containerd.io.rpm

우리가 그것들을 모두 설치하고 싶은 것은 아닙니다

 yum localinstall -y  docker-ce-cli.rpm containerselinux.rpm docker.rpm  containerd.io.rpm
    Loaded plugins: langpacks
configuration
    Cannot open: docker-ce-cli.rpm. Skipping.
    Cannot open: containerselinux.rpm. Skipping.
    Examining docker.rpm: 3:docker-ce-19.03.8-3.el7.x86_64
    Marking docker.rpm to be installed
    Cannot open: containerd.io.rpm. Skipping.
    Resolving Dependencies
    --> Running transaction check
    ---> Package docker-ce.x86_64 3:19.03.8-3.el7 will be installed
    --> Processing Dependency: container-selinux >= 2:2.74 for package: 3:docker-ce-19.03.8-3.el7.x86_64
    --> Processing Dependency: containerd.io >= 1.2.2-3 for package: 3:docker-ce-19.03.8-3.el7.x86_64
    --> Processing Dependency: docker-ce-cli for package: 3:docker-ce-19.03.8-3.el7.x86_64
    --> Finished Dependency Resolution
    Error: Package: 3:docker-ce-19.03.8-3.el7.x86_64 (/docker)
               Requires: container-selinux >= 2:2.74
    Error: Package: 3:docker-ce-19.03.8-3.el7.x86_64 (/docker)
               Requires: docker-ce-cli
    Error: Package: 3:docker-ce-19.03.8-3.el7.x86_64 (/docker)
               Requires: containerd.io >= 1.2.2-3
     You could try using --skip-broken to work around the problem

We  not understand why we get 

    Requires: docker-ce-cli
    Requires: containerd.io >= 1.2.2-3
    Requires: container-selinux >= 2:2.74

최신 버전을 설치했기 때문에

두번째

우리도 얻습니다

Cannot open: docker-ce-cli.rpm. Skipping.
Cannot open: containerselinux.rpm. Skipping.

그런데 내 곱슬머리는 어떻게 된 걸까요?

이 문제를 해결하고 올바른 URL을 설정한 후에도 여전히 다음과 같은 결과가 나타납니다.

yum localinstall  docker.rpm  containerselinux.rpm docker-ce-cli.rpm containerd.io.rpm -y
Loaded plugins: langpacks
Examining docker.rpm: 3:docker-ce-19.03.8-3.el7.x86_64
Marking docker.rpm to be installed
Examining containerselinux.rpm: docker-ce-selinux-17.03.3.ce-1.el7.noarch
Marking containerselinux.rpm to be installed
Examining docker-ce-cli.rpm: 1:docker-ce-cli-19.03.8-3.el7.x86_64
Marking docker-ce-cli.rpm to be installed
Examining containerd.io.rpm: containerd.io-1.2.6-3.3.el7.x86_64
Marking containerd.io.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package containerd.io.x86_64 0:1.2.6-3.3.el7 will be installed
--> Processing Dependency: container-selinux >= 2:2.74 for package: containerd.io-1.2.6-3.3.el7.x86_64
                                                                                                                                                                                                                                                                                                                  | 4.3 kB  00:00:00
---> Package docker-ce.x86_64 3:19.03.8-3.el7 will be installed
--> Processing Dependency: container-selinux >= 2:2.74 for package: 3:docker-ce-19.03.8-3.el7.x86_64
---> Package docker-ce-cli.x86_64 1:19.03.8-3.el7 will be installed
---> Package docker-ce-selinux.noarch 0:17.03.3.ce-1.el7 will be installed
Removing docker-ce-selinux.noarch 0:17.03.3.ce-1.el7 - u due to obsoletes from docker-ce.x86_64 3:19.03.8-3.el7 - u
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package containerd.io.x86_64 0:1.2.6-3.3.el7 will be installed
--> Processing Dependency: container-selinux >= 2:2.74 for package: containerd.io-1.2.6-3.3.el7.x86_64
---> Package docker-ce.x86_64 3:19.03.8-3.el7 will be installed
--> Processing Dependency: container-selinux >= 2:2.74 for package: 3:docker-ce-19.03.8-3.el7.x86_64
---> Package docker-ce-selinux.noarch 0:17.03.3.ce-1.el7 will be installed
--> Finished Dependency Resolution
Error: Package: containerd.io-1.2.6-3.3.el7.x86_64 (/containerd.io)
           Requires: container-selinux >= 2:2.74
Error: Package: 3:docker-ce-19.03.8-3.el7.x86_64 (/docker)
           Requires: container-selinux >= 2:2.74
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

답변1

containerselinux.rpm, docker-ce-cli.rpm및 는 docker-ce-cli.rpm실제 RPM이 아니지만 잘못된 URL을 사용하여 다운로드했기 때문에 404 오류가 발생한 HTML입니다. 삭제하고 올바른 URL에서 다시 다운로드하세요.

관련 정보