Docker соединение контейнеров между собой | уроки docker | #5
Spisu treści:
- Wymagania wstępne
- Zainstaluj Docker na CentOS
- Wykonywanie polecenia dokera bez Sudo
- Interfejs wiersza polecenia Docker
- Obrazy dokerów
- Docker Containers
- Wniosek
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:
-
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
to18.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
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.
Jak zainstalować i używać PHP Composer na Centos 7
Kompozytor jest menedżerem zależności dla PHP. Kompozytor pobierze wszystkie wymagane pakiety PHP, od których zależy Twój projekt i zarządza nimi za Ciebie. W tym samouczku przeprowadzimy kroki instalacji i używania Composer na komputerze CentOS 7.
Jak zainstalować i używać Dockera na Debianie 9
W tym samouczku przeprowadzimy Cię przez proces instalowania Dockera na maszynie Debian 9 oraz poznamy podstawowe pojęcia i polecenia Docker.
Jak zainstalować i używać Dockera na Ubuntu 18.04
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 na Ubuntu 18.04 oraz poznać podstawowe pojęcia i polecenia Docker.