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-manager
utility) 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 polecenie
yum-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
-
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 pasuje
060A 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.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ładdocker-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.- tart Dockera.
$ sudo systemctl start docker
Weryfikuj, czy Docker Engine jest zainstalowany poprawnie, uruchamiając
hello-world
image.$ 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ę.
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.-
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 nanightly
lubtest
.Learn about nightly and test channels. -
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. -
Uruchomienie Dockera.
$ sudo systemctl start docker
Weryfikuj, czy Docker Engine jest zainstalowany poprawnie, uruchamiając
hello-world
image.$ 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ę.
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
zamiastyum -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 repozytorium
docker-install
- Skrypty te nie są zalecane do środowisk produkcyjnych i należy zrozumieć potencjalne zagrożenia przed ich użyciem:
- Skrypty wymagają uprawnień
root
lubsudo
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
natest
.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 oRPM
należy uruchomić go ręcznie za pomocą odpowiedniejsystemctl
lubservice
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
-
Odinstaluj pakiety Docker Engine, CLI i Containerd:
$ sudo yum remove docker-ce docker-ce-cli containerd.io
-
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
- Skrypty wymagają uprawnień