Jak uruchomić serwer konsu za pomocą Docker

Jak uruchomić serwer konsu za pomocą Docker
Consul to narzędzie do wykrywania usług open source, które jest oparte na Golang. Pomaga odkryć wymagania dotyczące aplikacji, takie jak baza danych, kolejki i e -maile. Jest wyposażony w niesamowite funkcje, takie jak odkrycie serwisowe, status kontroli zdrowia, sklep z kluczami/wartością, wdrożenie wielu rozkładów i interfejs internetowy. Docker to narzędzie zaprojektowane w celu ułatwienia tworzenia, wdrażania i uruchamiania aplikacji za pomocą kontenerów. Możemy zakończyć aplikację i wszystkie wymagane zależności i biblioteki w kontener, a następnie łatwo wdrożyć aplikację za pomocą kontenera. W tym przewodniku zobaczymy, jak uruchomić Consul za pomocą Dockera.

System aktualizacji

Zalecamy uaktualnienie wszystkich pakietów i repozytoriów przed zainstalowaniem nowego pakietu w systemie. Wykonaj następujące polecenie, a wykonuje to zadanie dla Ciebie.

Sudo apt-get Aktualizacja

Zainstaluj Docker

Będziemy uruchamiać serwer konsu za pomocą Docker, więc będziemy musieli zainstalować Docker przed zainstalowaniem konsula. Przede wszystkim usuń starszą wersję Dockera, jeśli jest jakaś zainstalowana. Wykonaj następujące polecenie, aby to zrobić.

sudo apt-get Usuń doker-inżynier dokera.io

Następnie wykonaj następujące polecenie, aby zainstalować wymagane pakiety.

sudo apt-get instaluj \ apt-transport-https \ ca-certyfikaty \
curl \ oprogramowanie-properties-common

Następnie musisz dodać oficjalny klucz GPG Dockera. Wykonaj następujące polecenie, a wykonuje to zadanie dla Ciebie.

curl -fssl https: // pobierz.doker.com/Linux/Ubuntu/GPG | sudo apt-key add -

Teraz jesteśmy gotowi zainstalować Docker, więc wykonaj następujące polecenie, aby to zrobić.

sudo apt-get instal instaluj Docker-CE

Możesz zweryfikować tę instalację za pomocą następującego polecenia. Sudo SystemCtl Status Docker Powinieneś zobaczyć następujące dane wyjściowe.

Sudo SystemCtl Status Docker
● Docker.Usługa - silnik kontenera aplikacji Docker
Załadowany: załadowany (/lib/systemd/system/Docker.praca; włączony; PRESET dostawcy: włączony)
Active: Active (bieganie) od śr. 2019-07-10 12:04:28 UTC; 57s temu
Dokumenty: https: // dokumenty.doker.com
Główny PID: 4310 (Dockerd)
Cgroup: /system.Slice/Docker.praca
└─4310/usr/bin/dockerd -h fd: // ---Containerd =/run/containerd/contenerd.skarpetka
10 lipca 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.296629644Z "
poziom = ostrzeżenie msg = "twoje jądro Doe
10 lipca 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.296913361Z "
poziom = ostrzeżenie msg = "twoje jądro Doe
10 lipca 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.297249324Z "
poziom = ostrzeżenie msg = "twoje jądro Doe
10 lipca 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.299409872Z "
poziom = informacja msg = "Ładowanie kontenerów
10 lipca 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.437281588Z "
poziom = informacja msg = "domyślny most (zrób
10 lipca 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.501563121Z "
poziom = informacja msg = "Ładowanie kontenerów
10 lipca 12:04:28 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 28.798610779Z "
poziom = info msg = "Docker Daemon" com
10 lipca 12:04:28 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 28.799513575z ”
poziom = informacja msg = "demon ma zakończenie
10 lipca 12:04:28 TestConsul1 Systemd [1]: Uruchomiony silnik kontenerów aplikacji Docker.
10 lipca 12:04:28 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 28.821957315Z "
poziom = info msg = "API słuchaj on /var
Linie 1-18/18 (koniec)

Zainstaluj konsul

Z powodzeniem zainstalowaliśmy Docker w twoim systemie. Teraz będziemy instalować konsula za pomocą obrazu Docker. Przede wszystkim będziesz musiał uzyskać obraz konsula Dockera. Jeśli masz lokalną stację roboczą obrazu, to dobrze, ale tutaj pobramy obraz z Docker Hub. Wykonaj następujące polecenie, aby pobrać obraz. Sudo Docker Pull Consul Powinieneś zobaczyć następujące dane wyjściowe:

Po uzyskaniu obrazu konsula, teraz jesteś gotowy do uruchomienia serwera konsuli za pomocą następującego polecenia.

Sudo Docker Run -p 8500: 8500 -p 8600: 8600/udp --Name = konsul konsulowy: v0.6.4 agent
-serwer -bootstrap -ui -Client = 0.0.0.0

Zobaczysz następujące dane wyjściowe:

sajid@testConsul: ~ $ sudo Docker Run -p 8500: 8500 -p 8600: 8600/udp --Name = Consul
Konsul: v0.6.4 agent -server -bootstrap -ui -client = 0.0.0.0
==> Ostrzeżenie: włączony tryb bootstrap! Nie włącz, chyba że jest to konieczne
==> Rozpoczęcie agenta konsul…
==> Rozpoczęcie agenta konsul RPC…
==> Consul Agent Uruchamianie!
Nazwa węzła: „14AAFC4BDAEE”
Datacenter: „DC1”
Serwer: true (bootstrap: true)
Klient Addr: 0.0.0.0 (HTTP: 8500, HTTPS: -1, DNS: 8600, RPC: 8400)
Klaster Addr: 172.17.0.2 (LAN: 8301, WAN: 8302)
Gossip Encrypt: False, RPC-TLS: FALSE, TLS ATMACTING: FAŁSZ
Atlas:

Następnie możesz sprawdzić dzienniki kontenerów za pomocą następującego polecenia.

Sudo Docker Logs

Wymień identyfikator kontenera na rzeczywisty pojemnik w naszym przypadku:

Sudo Docker Logs 14aafc4bdaee

Teraz wiemy, że Consul jest aplikacją rozproszoną, więc nie ma sensu uruchomić samego serwera konsu. Następnie będziesz musiał ponownie uruchomić konsula w trybie klienta. Wykonaj następujące polecenie, aby uruchomić agent konsulu w trybie klienta.

Sudo Docker Run -d Consul Agent

Możesz sprawdzić wszystkie dostępne kontenery za pomocą następującego polecenia. Sudo Docker PS Powyższe polecenie zawiera listę wszystkich działających kontenerów. Tutaj, w naszym przypadku, powinny działać dwa pojemniki. Możesz wdrożyć wielu agentów konsulowych w trybie klienta i na wielu innych węzłach, jeśli chcesz.

Następnie musisz podłączyć klienta z serwerem. Wykonaj następujące polecenie, aby dołączyć do węzła serwerowego.

Sudo Docker Run -d Consul Agent - -Retry -Join = 172.17.0.2

Teraz możemy sprawdzić dzienniki kontenera klienta i serwera i potwierdzić połączenie między serwerem konsuli i klientem konsulowym za pomocą następującego polecenia.

Sudo Docker Logs 14aafc4bdaee

Teraz, jeśli zobaczysz członków konsula zarówno na kliencie Consul, jak i węzła serwerowym, powinni pokazać nam oba kontenery. Możesz to zrobić za pomocą następujących poleceń.

W węźle klienta: sudo docker exec -it członkowie konsulowi
W węźle serwera: sudo docker exec -it członkowie konsulowi

Zmień interfejs BIND SERVER SERWER

Teraz rozpoczniemy konsul w trybie hosta. Kiedy rozpoczniemy Consul w trybie hosta, będzie więcej interfejsów na komputerze hosta. Aby rozwiązać ten problem, musisz zmienić interfejs wiązania. Rozpocznij konsul w trybie hosta za pomocą następującego polecenia.

Sudo Docker Run --Net = host -e Consul_Bind_Interface = ETH1 -D Consul Agent -server
-Bootstrap-Expect = 1

Następnie uruchom konsula w trybie klienta, ale na innym komputerze i dołącz do powyższego serwera konsuli. Wykonaj następujące polecenie, a wykonuje to zadanie dla Ciebie.

Sudo Docker Run -d Consul Agent - -Retry -Join =

Teraz możemy to zweryfikować, sprawdzając członków konsula na serwerze konsuli.

Sudo Docker Exec -it 3e9f69fc7e1f Consul Członkowie

Następnie uruchom agent konsulowy z adresem IP interfejsu powiązania za pomocą następującego polecenia.

Sudo Docker Run -d --Name = ConsulaGent1 --Net = host Consul Agent
--ponowne join = 192.168.99.100 -Bind = 192.168.99.101

Z powodzeniem zmieniliśmy interfejs wiązania, ale interfejs konsulowy nadal nie jest dla nas dostępny. Będziesz musiał posłuchać portu 8500 na interfejsie ETH1, aby uzyskać interfejs użytkownika. Wykonaj następujące polecenie, a wykonuje to zadanie dla Ciebie.

Sudo Docker Run --Net = host -e Consul_Bind_interface = ETH1 -e Consul_Client_Interface = ETH1
-d Consul Agent -ui -server -bootstrap -Expect = 1

Wniosek

W tym przewodniku nauczyłeś się instalować Docker i Consul w swoim systemie. Nauczyłeś się także konfigurować serwer konsuli za pomocą kontenerów Docker.