Връзки към контейнера на 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 по -късно, за да се свържете с него.
Заключение:
В тази статия ви показах как да конфигурирате и работите с връзки към контейнер на docker. Docker е много лесна за използване технология за контейнери, използвана за единични приложения. Много хора го използват по целия свят и една от причините за популярността му е лекотата на използване.