Instalacja Docker Engine na CentOS

Przewidywany czas czytania: 10 minut

Aby rozpocząć pracę z Docker Engine na CentOS, upewnij się, że spełniasz warunki wstępne, a następnie zainstaluj Dockera.

Wymagania wstępne

Wymagania systemowe

Aby zainstalować Docker Engine, potrzebujesz utrzymywanej wersji CentOS 7 lub 8. Wersje archiwalne nie są obsługiwane ani testowane.

Repozytorium centos-extras musi być włączone. To repozytorium jest domyślnie włączone, ale jeśli je wyłączyłeś, musisz je ponownie włączyć.

Zalecany jest sterownik pamięci masowej overlay2.

Uninstall stare wersje

Starsze wersje Dockera nazywały się docker lub docker-engine. Jeśli są one zainstalowane, odinstaluj je, wraz z powiązanymi zależnościami.

$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine

Jest OK, jeśli yum zgłasza, że żaden z tych pakietów nie jest zainstalowany.

Zawartość /var/lib/docker/, w tym obrazy, kontenery, woluminy i sieci, są zachowane. Pakiet Docker Engine nosi teraz nazwę docker-ce.

Metody instalacji

Można zainstalować Docker Engine na różne sposoby, w zależności od potrzeb:

  • Większość użytkowników ustawia repozytoria Dockera i instaluje z nich, aby ułatwić zadania instalacji i aktualizacji. Jest to zalecane podejście.

  • Niektórzy użytkownicy pobierają pakiet RPM i instalują go ręcznie, a aktualizacjami zarządzają całkowicie ręcznie. Jest to przydatne w takich sytuacjach, jak instalacja Dockera na systemach bez dostępu do internetu.

  • W środowiskach testowych i deweloperskich niektórzy użytkownicy decydują się na użycie zautomatyzowanych skryptów do instalacji Dockera.

Instalacja przy użyciu repozytorium

Przed zainstalowaniem Docker Engine po raz pierwszy na nowym hoście należy skonfigurować repozytorium Dockera. Następnie można zainstalować i zaktualizować Dockera z repozytorium.

Ustawienie repozytorium

Zainstaluj pakiet yum-utils (który dostarcza narzędzie yum-config-managerutility) i ustaw stabilne repozytorium.

$ sudo yum install -y yum-utils$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo

Opcjonalne: Włącz repozytoria nightly lub testowe.

Te repozytoria są zawarte w pliku docker.repo powyżej, ale są domyślnie wyłączone. Możesz je włączyć obok stabilnego repozytorium. Poniższa komenda włącza repozytorium nightly.

$ sudo yum-config-manager --enable docker-ce-nightly

Aby włączyć kanał testowy, wykonaj następujące polecenie:

$ sudo yum-config-manager --enable docker-ce-test

Możesz wyłączyć repozytorium nightly lub testowe, uruchamiając polecenieyum-config-manager z flagą --disable. Aby ponownie ją włączyć, użyj flagi --enable. Poniższe polecenie wyłącza repozytorium nightly.

$ sudo yum-config-manager --disable docker-ce-nightly

Poznaj kanały nightly i testowe.

Instalacja Docker Engine

  1. Zainstaluj najnowszą wersję Docker Engine i containerd, lub przejdź do następnego kroku, aby zainstalować konkretną wersję:

    $ sudo yum install docker-ce docker-ce-cli containerd.io

    Jeśli zostanie wyświetlony monit o zaakceptowanie klucza GPG, sprawdź, czy odcisk palca pasuje060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35, a jeśli tak, zaakceptuj go.

    Masz wiele repozytoriów Dockera?

    Jeśli masz włączone wiele repozytoriów Dockera, instalacja lub aktualizacja bez określenia wersji w poleceniu yum install lubyum update zawsze instaluje najwyższą możliwą wersję, która może nie być odpowiednia dla twoich potrzeb stabilności.

    Docker jest zainstalowany, ale nie jest uruchomiony. Grupa docker jest tworzona, ale nie są do niej dodawani użytkownicy.

  2. Aby zainstalować konkretną wersję Docker Engine, wymień dostępne wersje w repo, a następnie wybierz i zainstaluj:

    a. Wymień i posortuj wersje dostępne w twoim repo. Ten przykład sortuje wyniki według numeru wersji, od najwyższej do najniższej, i jest skrócony:

    $ yum list docker-ce --showduplicates | sort -rdocker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stabledocker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stabledocker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stabledocker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable

    Zwrócona lista zależy od tego, które repozytoria są włączone, i jest specyficzna dla twojej wersji CentOS (wskazana przez przyrostek .el7 w tym przykładzie).

    b. Zainstaluj konkretną wersję według jej w pełni kwalifikowanej nazwy pakietu, która jest nazwą pakietu (docker-ce) plus ciąg wersji (druga kolumna) zaczynający się od pierwszego dwukropka (:), aż do pierwszego myślnika, oddzielony myślnikiem (-). Na przykład docker-ce-18.09.1.

    $ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

    Docker jest zainstalowany, ale nie jest uruchomiony. Grupa docker jest utworzona, ale nie dodano do niej żadnych użytkowników.

  3. tart Dockera.
    $ sudo systemctl start docker
  4. Weryfikuj, czy Docker Engine jest zainstalowany poprawnie, uruchamiając hello-worldimage.

    $ sudo docker run hello-world

    To polecenie pobiera obraz testowy i uruchamia go w kontenerze. Kiedy kontener zostanie uruchomiony, wypisuje komunikat informacyjny i kończy pracę.

  5. Docker Engine jest zainstalowany i działa. Musisz użyć sudo aby uruchomić polecenia Docker. Przejdź do Linux postinstall, aby umożliwić użytkownikom z uprawnieniami uruchamianie poleceń Dockera i inne opcjonalne kroki konfiguracyjne.

    Uaktualnienie Docker Engine

    Aby uaktualnić Docker Engine, postępuj zgodnie z instrukcjami instalacji, wybierając nową wersję, którą chcesz zainstalować.

    Instalacja z pakietu

    Jeśli nie możesz użyć repozytorium Dockera do zainstalowania Dockera, możesz pobrać plik.rpm dla swojego wydania i zainstalować go ręcznie. Musisz pobrać nowy plik za każdym razem, gdy chcesz uaktualnić Docker Engine.

    1. Przejdź do https://download.docker.com/linux/centos/and wybierz swoją wersję CentOS. Następnie przejdź do x86_64/stable/Packages/ i pobierz plik .rpm dla wersji Dockera, którą chcesz zainstalować.

      Uwaga: Aby zainstalować pakiet nightly lub testowy (pre-release), zmień słowo stable w powyższym adresie URL na nightly lub test.Learn about nightly and test channels.

    2. Install Docker Engine, changing the path below to the path where you downloadedthe Docker package.

      $ sudo yum install /path/to/package.rpm

      Docker jest zainstalowany, ale nie uruchomiony. Grupa docker została utworzona, ale do grupy dodano nouserów.

    3. Uruchomienie Dockera.

      $ sudo systemctl start docker
    4. Weryfikuj, czy Docker Engine jest zainstalowany poprawnie, uruchamiając hello-worldimage.

      $ sudo docker run hello-world

      To polecenie pobiera obraz testowy i uruchamia go w kontenerze. Kiedy kontener zostanie uruchomiony, wypisuje komunikat informacyjny i kończy pracę.

    5. Docker Engine jest zainstalowany i działa. Musisz użyć sudo aby uruchomić polecenia Docker.Kontynuuj do Kroki poinstalacyjne dla Linuksa aby umożliwić użytkownikom uprzywilejowanym uruchamianie poleceń Docker i inne opcjonalne kroki konfiguracyjne.

      Uaktualnienie Docker Engine

      Aby uaktualnić Docker Engine, pobierz nowszy plik pakietu i powtórz procedurę instalacji, używając yum -y upgrade zamiast yum -y install, i wskazując na nowy plik.

      Instalacja za pomocą wygodnego skryptu

      Docker udostępnia wygodne skrypty pod adresem get.docker.comand test.docker.com do szybkiej i nieinteraktywnej instalacji wersji brzegowych i testowych Docker Engine – Community w środowiskach deweloperskich. Kod źródłowy tych skryptów znajduje się w repozytoriumdocker-install

      • Skrypty te nie są zalecane do środowisk produkcyjnych i należy zrozumieć potencjalne zagrożenia przed ich użyciem:
        • Skrypty wymagają uprawnień root lub sudo do uruchomienia. Dlatego należy dokładnie sprawdzić i skontrolować skrypty przed ich uruchomieniem.
        • Skrypty próbują wykryć dystrybucję i wersję systemu Linux oraz skonfigurować za użytkownika system zarządzania pakietami. Dodatkowo, skrypty nie pozwalają na dostosowanie parametrów instalacji. Może to prowadzić do nieobsługiwanej konfiguracji, zarówno z punktu widzenia Dockera, jak i wytycznych i standardów Twojej organizacji.
        • Skrypty instalują wszystkie zależności i zalecenia menedżera pakietów bez pytania o potwierdzenie. Może to spowodować zainstalowanie dużej liczby pakietów, w zależności od bieżącej konfiguracji maszyny hosta.
        • Skrypt nie udostępnia opcji pozwalających określić, którą wersję Dockera zainstalować, i instaluje najnowszą wersję, która została wydana w kanale „edge”.
        • Nie należy używać tego skryptu, jeśli Docker został już zainstalowany na maszynie głównej przy użyciu innego mechanizmu.

        Przykład ten wykorzystuje skrypt znajdujący się pod adresem get.docker.com do zainstalowania najnowszej wersji Docker Engine – Community w systemie Linux. Aby zainstalować najnowszą wersję testową, należy użyć strony test.docker.com. W każdym z poniższych poleceń zamień każde wystąpienie get na test.

        Ostrzeżenie:

        Zawsze sprawdzaj skrypty pobrane z internetu przed ich lokalnym uruchomieniem.

        $ curl -fsSL https://get.docker.com -o get-docker.sh$ sudo sh get-docker.sh<...>

        Jeśli chcesz używać Dockera jako użytkownik nieroot, powinieneś teraz rozważyć dodanie swojego użytkownika do grupy „docker” za pomocą czegoś takiego:

        $ sudo usermod -aG docker <your-user>

        Pamiętaj o wylogowaniu się i ponownym zalogowaniu, aby to zadziałało!

        Ostrzeżenie:

        Dodanie użytkownika do grupy „docker” daje mu możliwość uruchamiania kontenerów, co może być wykorzystane do uzyskania uprawnień roota na hoście Dockera. Więcej informacji na ten temat znajduje się w rozdzialeDocker Daemon Attack Surface.

        Docker Engine – Community jest zainstalowany. Uruchamia się on automatycznie na dystrybucjach opartych na DEB. Na dystrybucjach opartych o RPM należy uruchomić go ręcznie za pomocą odpowiedniejsystemctl lub service komendy. Jak wskazuje komunikat, użytkownicy niebędący rootami mogą domyślnie uruchamiać polecenia Dockera.

        Uwaga:

        Aby zainstalować Dockera bez uprawnień roota, zobaczUruchom demona Dockera jako użytkownik niebędący rootem (tryb Rootless).

        Uaktualnienie Dockera po użyciu skryptu wygody

        Jeśli zainstalowałeś Dockera używając skryptu wygody, powinieneś uaktualnić Dockera używając bezpośrednio menedżera pakietów. Nie ma żadnej korzyści z ponownego uruchomienia skryptu wygody, a może on powodować problemy, jeśli próbuje ponownie dodać repozytoria, które zostały już dodane do maszyny głównej.

        Uninstall Docker Engine

        1. Odinstaluj pakiety Docker Engine, CLI i Containerd:

          $ sudo yum remove docker-ce docker-ce-cli containerd.io
        2. Obrazy, kontenery, woluminy lub niestandardowe pliki konfiguracyjne na twoim hoście nie są automatycznie usuwane. Aby usunąć wszystkie obrazy, kontenery i woluminy:

          $ sudo rm -rf /var/lib/docker$ sudo rm -rf /var/lib/containerd

        Musisz ręcznie usunąć wszystkie edytowane pliki konfiguracyjne.

        • Dalej do Kroki poinstalacyjne dla systemu Linux.
        • Przejrzyjrzyj tematy w Rozwijaj z Dockerem, aby dowiedzieć się, jak tworzyć nowe aplikacje przy użyciu Dockera.

        wymagania, apt, instalacja, centos, rpm, zainstaluj, odinstaluj, uaktualnij, aktualizacja