Android

Jak zainstalować i używać Dockera na Centos 7

Docker соединение контейнеров между собой | уроки docker | #5

Docker соединение контейнеров между собой | уроки docker | #5

Spisu treści:

Anonim

Docker to technologia konteneryzacji, która umożliwia szybkie budowanie, testowanie i wdrażanie aplikacji jako przenośnych, samowystarczalnych kontenerów, które można uruchomić praktycznie w dowolnym miejscu.

W tym samouczku omówimy, jak zainstalować Docker CE na CentOS 7 oraz poznać podstawowe koncepcje i polecenia Docker.

Wymagania wstępne

Przed kontynuowaniem tego samouczka upewnij się, że spełnione są następujące wymagania wstępne:

  • Serwer CentOS 7 Jesteś zalogowany jako użytkownik inny niż root z uprawnieniami sudo. Sprawdzasz ten przewodnik, jak utworzyć nowego użytkownika sudo.

Zainstaluj Docker na CentOS

Chociaż pakiet Docker jest dostępny w oficjalnym repozytorium CentOS 7, nie zawsze może to być najnowsza wersja. Zalecanym podejściem jest instalacja Dockera z repozytoriów Dockera.

Aby zainstalować Docker na serwerze CentOS 7, wykonaj następujące czynności:

  1. Zacznij od aktualizacji pakietów systemowych i zainstaluj wymagane zależności:

    sudo yum update sudo yum install yum-utils device-mapper-persistent-data lvm2

    Następnie uruchom następującą komendę, która doda stabilne repozytorium Docker do twojego systemu:

    sudo yum-config-manager --add-repo

    Teraz, gdy repozytorium Docker jest włączone, zainstaluj najnowszą wersję Docker CE (Community Edition), używając yum, wpisując:

    sudo yum install docker-ce

    Po zainstalowaniu pakietu Docker uruchom demona Docker i włącz automatyczne uruchamianie się podczas uruchamiania:

    sudo systemctl start docker sudo systemctl enable docker

    Aby sprawdzić, czy usługa Docker jest uruchomiona, wpisz:

    sudo systemctl status docker

    Dane wyjściowe powinny wyglądać mniej więcej tak:

    ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2018-10-31 08:51:20 UTC; 7s ago Docs: https://docs.docker.com Main PID: 2492 (dockerd) CGroup: /system.slice/docker.service ├─2492 /usr/bin/dockerd └─2498 docker-containerd --config /var/run/docker/containerd/containerd.toml

    W chwili pisania tego tekstu obecna stabilna wersja 18.06.1 to 18.06.1 , aby wydrukować typ wersji Docker:

    docker -v

    Docker version 18.06.1-ce, build e68fc7a

Wykonywanie polecenia dokera bez Sudo

Domyślnie zarządzanie Docker wymaga uprawnień administratora. Jeśli chcesz uruchamiać polecenia Dockera jako użytkownik inny niż root bez przygotowywania sudo , musisz dodać użytkownika do grupy dokerów, która jest tworzona podczas instalacji pakietu Docker CE. Możesz to zrobić, wpisując:

sudo usermod -aG docker $USER

$USER to zmienna środowiskowa, która przechowuje twoją nazwę użytkownika.

Wyloguj się i zaloguj ponownie, aby odświeżyć członkostwo w grupie.

Aby sprawdzić, czy Docker został pomyślnie zainstalowany i czy można uruchamiać polecenia dokera bez sudo, wydaj następujące polecenie, które pobierze obraz testowy, uruchom go w kontenerze, wydrukuj komunikat „Hello from Docker” i zakończ:

docker container run hello-world

Dane wyjściowe powinny wyglądać następująco:

Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 9bb5a5d4561a: Pull complete Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly.

Interfejs wiersza polecenia Docker

Teraz, gdy mamy działającą instalację Dockera, przejdźmy do podstawowej składni CLI dokera.

Wiersz polecenia dokera ma następującą postać:

docker

Możesz wyświetlić listę wszystkich dostępnych poleceń, wpisując docker bez parametrów:

docker

docker --help

Obrazy dokerów

Obraz Dockera składa się z szeregu warstw reprezentujących instrukcje w pliku Docker obrazu, które składają się na wykonywalną aplikację. Obraz jest niezmiennym plikiem binarnym zawierającym aplikację i wszystkie inne zależności, takie jak pliki binarne, biblioteki i instrukcje niezbędne do uruchomienia aplikacji. Krótko mówiąc, obraz Dockera jest zasadniczo migawką kontenera Docker.

Docker Hub to usługa rejestru oparta na chmurze, która między innymi służy do przechowywania obrazów Docker w publicznym lub prywatnym repozytorium.

Aby przeszukać obraz w repozytorium Docker Hub, użyj komendy search . Na przykład, aby wyszukać obraz CentOS, uruchom:

docker search centos

Dane wyjściowe powinny wyglądać następująco:

NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 4257 ansible/centos7-ansible Ansible on Centos7 109 jdeathe/centos-ssh CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x86_… 94 consol/centos-xfce-vnc Centos container with "headless" VNC session… 52 imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 40 tutum/centos Simple CentOS docker image with SSH access 39

Jak widać, wyniki wyszukiwania drukują tabelę z pięcioma kolumnami: NAME , DESCRIPTION , STARS , OFFICIAL i AUTOMATED . Oficjalny obraz to obraz, który Docker rozwija we współpracy z partnerami wyższego szczebla.

Jeśli chcemy pobrać oficjalną wersję CentOS 7, możemy to zrobić za pomocą podkomendy image pull :

docker image pull centos

Using default tag: latest latest: Pulling from library/centos 469cfcc7a4b3: Pull complete Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16 Status: Downloaded newer image for centos:latest

W zależności od szybkości Internetu pobieranie może potrwać kilka sekund lub kilka minut. Po pobraniu obrazu możemy wyświetlić listę:

docker image ls

Dane wyjściowe powinny wyglądać mniej więcej tak:

REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e38bc07ac18e 3 weeks ago 1.85kB centos latest e934aafc2206 4 weeks ago 199MB

Jeśli z jakiegoś powodu chcesz usunąć obraz, możesz to zrobić za pomocą komendy image rm :

docker image rm centos

Untagged: centos:latest Untagged: centos@sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16 Deleted: sha256:e934aafc22064b7322c0250f1e32e5ce93b2d19b356f4537f5864bd102e8531f Deleted: sha256:43e653f84b79ba52711b0f726ff5a7fd1162ae9df4be76ca1de8370b8bbf9bb0

Docker Containers

Instancja obrazu nazywa się kontenerem. Kontener reprezentuje środowisko wykonawcze dla pojedynczej aplikacji, procesu lub usługi.

To może nie być najodpowiedniejsze porównanie, ale jeśli jesteś programistą, możesz myśleć o obrazie Docker jako klasie, a kontener Docker o instancji klasy.

Możemy uruchamiać, zatrzymywać, usuwać i zarządzać kontenerem za pomocą komendy docker container .

Następujące polecenie uruchomi kontener Docker na podstawie obrazu CentoOS. Jeśli nie masz obrazu lokalnie, najpierw go pobierze:

docker container run centos

Na pierwszy rzut oka może się wydawać, że nic się nie wydarzyło. To nie jest prawda. Kontener CentOS zatrzymuje się natychmiast po uruchomieniu, ponieważ nie ma długotrwałego procesu, a my nie wydaliśmy żadnego polecenia, więc kontener uruchomił się, uruchomił puste polecenie, a następnie zakończył pracę.

Przełącznik -it pozwala nam na interakcję z kontenerem za pomocą wiersza poleceń. Aby uruchomić interaktywny typ kontenera:

docker container run -it centos /bin/bash

Jak widać z danych wyjściowych po uruchomieniu kontenera, wiersz polecenia został zmieniony, co oznacza, że ​​pracujesz teraz z poziomu kontenera:

#

Aby wyświetlić listę uruchomionych kontenerów: wpisz:

docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli Jeśli nie masz żadnych uruchomionych kontenerów, dane wyjściowe będą puste.

Aby wyświetlić zarówno uruchomione, jak i zatrzymane kontenery, przekaż mu przełącznik -a :

docker container ls -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli c55680af670c centos "/bin/bash" 30 minutes ago Exited (0) 30 minutes ago modest_hawking c6a147d1bc8a hello-world "/hello" 20 hours ago Exited (0) 20 hours ago sleepy_shannon

Aby usunąć jeden lub więcej kontenerów, po prostu skopiuj identyfikator kontenera (lub identyfikatory) z góry i wklej je po komendzie container rm :

docker container rm c55680af670c

Wniosek

Nauczyłeś się, jak zainstalować Docker na komputerze CentOS 7 oraz jak pobierać obrazy Docker i zarządzać kontenerami Docker. Możesz także przeczytać o Docker Compose, która pozwala definiować i uruchamiać wielokontenerowe aplikacje Docker.

Ten samouczek ledwo rysuje powierzchnię ekosystemu Docker. W niektórych naszych kolejnych artykułach będziemy nadal zagłębiać się w inne aspekty Dockera. Aby dowiedzieć się więcej o Docker, sprawdź oficjalną dokumentację Docker.

centra dokerów