Връзки към контейнера на Docker

Docker Container Links



Много отделни приложения използват docker като контейнер. Много хора го използват по целия свят и една от причините за популярността му е лекотата на използване. Не е нужно да имате опит в никакъв софтуер, за да използвате и настроите docker и да започнете да го използвате за експерименти. Въпреки това, тъй като потребителят се опитва по -сложни сървъри, е необходимо да се знае за техники за работа с докер мрежи. Статията по -долу обсъжда връзките на контейнера на docker и характеристиките на неговата мрежа.

Връзки към контейнера на Docker

Основното използване на Docker link е да позволи свързването на контейнери заедно. Преди версия 1.9 това беше единственият начин за свързване на контейнерите. Docker връзките не трябва да остават в бъдеще и хората обикновено избягват това за нови дизайни. Като начинаещ обаче трябва да имате представа за свързването, ако трябва да се справите с наследствен код.







Пример за Docker Link

В следващия параграф ще създадем два контейнера, които ще работят съответно като сървър на Redis и клиент на Redis. Ще въвеждаме данни и информация към сървъра на Redis, като използваме клиента Redis. Следващата първа команда ще стартира сървър на Redis, наречен redis_server.



$докер бягане -имеredis_server redis



$sudoдокерпс





Следващата команда ще бъде използвана за стартиране на клиента Redis, наречен redis_client.

$sudoдокер бягане-то --rm -имеredis_client--връзкаredis_server: redisDB redisбаш

Опцията „връзка се използва тук за свързване на redis_server, като същевременно предоставя информацията на redisDB. След като въведете команда, пред вас ще се отвори командния ред, както следва:



корен@e2364251d31d:/данни#

Следващите команди, които ще въведете, ще бъдат използвани за инсталиране на ping.

$apt-get update

$apt-get надстройка

$apt-get installiputils-ping

Ще получите отговор, след като въведете командата и пингнете сървъра на Redis.

$пингredisDB

Сега бихме добавили командата за свързване към сървъра на Redis.

$sudoдокерexec -тоredis_clientш

$ redis-cli –h redisDB
redisDB:6379>

Тази нова команда DB: 6379 означава, че сме свързани със сървъра на Redis. Сега можете да добавите информация към сървъра. Пример е даден по -долу.

$ redisDB:6379>комплектКнига„Щастливият принц“
$ redisDB:6379>комплектавтор'Марк Твен'
$ redisDB:6379>вземете книга
$ redisDB:6379>вземете автор

Docker Networking

Докерът инсталира мрежовата функция в своята версия 1.9. Новата версия създава три мрежи автоматично, след като въведем следната команда.

$sudoдокер мрежаls

Няма, Bridge и host са мрежите, които съществуват в целия този процес. Нека обсъдят по -долу:

Мост: мостовата мрежа представлява Docker0. Docker0 е виртуален Ethernet мост, чиято задача е да препраща пакети към други мрежови интерфейси, свързани към него. Освен това клиентът може да изгради свои собствено проектирани мостове.

Водещ: Основната задача на хост мрежата е да добавя контейнери към стека на хост мрежата. След като сте дефинирали хост мрежа, разделението и разликата между хост и контейнер изчезват.

Забележка: Основната задача на none network е да изключи работата в мрежа. Някои приложения работят без никакви мрежи и нямат нужда от никаква мрежа по някаква причина.

Пример за работа в мрежа въз основа на дефинирана от потребителя мостова мрежа

Този раздел ще ви помогне да тествате Docker с помощта на сървъра Redis. Първо ще създадем мрежа, наречена вътрешна мрежа с командата.

$sudodocker мрежа за създаванемост internal_network

След вашето проучване в мрежата, вие конфигурирате, че са създадени подмрежа и шлюз.

$sudodocker мрежа инспектира Internal_network
[
{
'Име':'internal_network',
'Документ за самоличност':'9bc2213d3a39d46765fe50ef8e9b7819df8e7124b0a46552447cbda84e31b049',
„Създадено“:'2017-11-02T08: 01: 05.119528611Z',
'Обхват':„местен“,
„Шофьор“:'мост',
„Активиране на IPv6“:невярно,
„IPAM“:{
„Шофьор“:'по подразбиране',
'Настроики':{},
„Конфигуриране“:[
{
„Подмрежа“:'172.18.0.0/16',
'Gateway':„172.18.0.1“
}
]
},
„Вътрешно“:невярно,
'Прикачен':невярно,
'Ingress':невярно,
'ConfigFrom':{
„Мрежа“:''
},
„ConfigOnly“:невярно,
'Контейнери':{},
'Настроики':{},
„Етикети“:{}
}
]

Можете също да изброите мостовата мрежа, която е създадена преди това.

$sudoдокер мрежаls

Сега ще изпълним командата за свързване на вътрешния мрежов мост към сървъра redis_server.

$sudoдокер бягане -мрежа= вътрешна_мрежа-име= redis_server redis

И сега прикачете клиента:

$sudoдокер бягане -мрежа= вътрешна_мрежа-име= redis_client redisбаш

След като разгледате вътрешната мрежа, ще осъзнаете, че двата контейнера са включени в мрежата на моста.

$sudodocker мрежа инспектира Internal_network


Сега, идващи от вашия redis_client, ще можете да пингвате реклама redis_server по -късно, за да се свържете с него.

$пингredis_server

Заключение:

В тази статия ви показах как да конфигурирате и работите с връзки към контейнер на docker. Docker е много лесна за използване технология за контейнери, използвана за единични приложения. Много хора го използват по целия свят и една от причините за популярността му е лекотата на използване.