Linki kontenerów Docker

Linki kontenerów Docker
Wiele pojedynczych aplikacji używa Dockera jako kontenera. Wiele osób używa go na całym świecie, a jednym z powodów jego popularności jest łatwość użycia. Nie musisz być wykwalifikowany w żadnym oprogramowaniu do użycia i skonfigurować Docker i zacząć go używać do eksperymentów. Jednak gdy użytkownik próbuje bardziej złożonych serwerów, należy wiedzieć o technikach sieciowych Docker. Poniższy artykuł omawia linki kontenera Docker i cechy jego sieci.

Linki kontenerów Docker

Głównym zastosowaniem Docker Link jest umożliwienie łączenia kontenerów. Przed wersją 1.9, był to jedyny sposób na połączenie pojemników. Linki Docker nie mają pozostać w przyszłości, a ludzie zwykle unikają tego w przypadku nowych projektów. Jednak jako nowicjusz musisz mieć pojęcie o łączeniu, jeśli musisz poradzić sobie ze starszym kodem.

Przykład Link dockera

W poniższym akapicie będziemy tworzyć dwa kontenery, które będą działać odpowiednio jako serwer Redis i Klient Redis. Wprowadzimy dane i informacje do serwera Redis za pomocą klienta Redis. Poniższe pierwsze polecenie będzie uruchamiać serwer Redis, który nazywa się Redis_Server.

$ Docker Run -d --Name Redis_Server Redis
$ sudo docker ps

Następne następujące polecenie zostanie użyte do uruchamiania klienta Redis, który nazywa się Redis_Client.

$ sudo docker run -it - -rm --name redis_client - -Link Redis_Server: Redisdb Redis Bash

Opcja „Link jest tutaj używana do połączenia Redis_Server, jednocześnie podając informacje RedisDB. Po wpisaniu polecenia otworzy się wiersz polecenia, podobnie jak następujące:

root@e2364251d31d:/data#

Następne polecenia, które wprowadzisz, będą używane do instalacji ping.

Aktualizacja $ apt-get
$ apt-get Aktualizacja
$ apt-get install iputils-ping

Odzyskasz odpowiedź po wprowadzeniu polecenia i pingowaniu serwera Redis.

$ ping redisdb

Teraz dodamy polecenie, aby połączyć się z serwerem Redis.

$ sudo docker exec -it redis_client sh
$ redis -cli -h redisdb
redisdb: 6379>

To nowe polecenie DB: 6379 oznacza, że ​​jesteśmy podłączeni z serwerem Redis. Teraz możesz dodać informacje do serwera. Przykład podano poniżej.

$ Redisdb: 6379> Set Book „The Happy Prince”
$ redisdb: 6379> Ustaw autora „Mark Twain”
$ Redisdb: 6379> Get Book
$ redisdb: 6379> zdobądź autora

Networking Docker

Docker zainstalował funkcję sieci w swoim 1.9 wersja. Nowa wersja tworzy trzy sieci automatycznie po wprowadzeniu następującego polecenia.

$ sudo Docker Network LS

Brak, most i host to sieci, które powstają w tym całym procesie. Pozwól im omówić poniżej:

Most: Sieć mostów reprezentuje Docker0. Docker0 to wirtualny most Ethernet, którego zadaniem jest przekazanie pakietów do innych dołączonych do niego interfejsów sieciowych. Ponadto klient może zbudować swoje samoznaczne mosty.

Gospodarz: Głównym zadaniem sieci hosta jest dodanie kontenerów do stosu sieci hosta. Po zdefiniowaniu sieci hosta zniknęły rozdział i różnica między hostem a kontenerem.

Notatka: Głównym zadaniem None Network jest wyłączenie sieci. Niektóre aplikacje działają bez żadnych sieci i z żadnego powodu nie potrzebują żadnej sieci.

Przykład sieciowy oparty na zdefiniowanej przez użytkownika sieci mostów

Ta sekcja pomoże przetestować Dockera za pomocą serwera Redis. Po pierwsze, będziemy tworzyć sieć o nazwie „Sieć wewnętrzna” z poleceniem.

$ sudo Docker Network Utwórz -d most wewnętrzny_network

Po badaniach w sieci skonfigurujesz, że utworzono podsieć i bramę.

$ Sudo Docker Network Inspect Inspiruj wewnętrzny_network
[[[

„Nazwa”: „Internal_network”,
„ID”: „9BC2213D3A39D46765FE50EF8E9B7819DF8E7124B0A46552447CBDA84E31B049”,
„Creed”: „2017-11-02T08: 01: 05.119528611Z ",
„Zakres”: „lokalny”,
„Driver”: „Bridge”,
„EnableIPv6”: false,
„Ipam”:
„Sterownik”: „domyślnie”,
„Opcje”: ,
„Config”: [

„Podsieć”: „172.18.0.0/16 ",
„Gateway”: „172.18.0.1 "

]
,
„Wewnętrzny”: Fałsz,
„Załączalny”: Fałsz,
„Ingress”: False,
„ConfigFrom”:
"Sieć": ""
,
„Konfiguracja”: false,
„Kontenery”: ,
„Opcje”: ,
„Etykiety”:

]

Możesz także wymienić sieć mostów, która została utworzona wcześniej.

$ sudo Docker Network LS

Teraz wykonamy polecenie dołączania wewnętrznego mostu sieciowego do Redis_Server.

$ sudo docker run -d --Network = Internal_network --Name = redis_server redis

A teraz dołącz klienta:

$ sudo docker run -d --Network = Internal_network --Name = redis_client Redis Bash

Po zbadaniu sieci wewnętrznej zdasz sobie sprawę, że dwa kontenery zostały zawarte w sieci mostu.

$ Sudo Docker Network Inspect Inspiruj wewnętrzny_network


Teraz, pochodząc z twojego redis_client, będziesz mógł później połączyć się z tym.

$ ping redis_server

Wniosek:

W tym artykule pokazałem, jak skonfigurować i pracować z linkami do kontenerów Docker. Docker to bardzo łatwa w użyciu technologia kontenera używana do pojedynczych aplikacji. Wiele osób używa go na całym świecie, a jednym z powodów jego popularności jest łatwość użycia.