Запуск Consul в Docker контейнере

Thank you for reading this post, don't forget to subscribe!

Ска­чай­те гото­вый docker образ Consul с хаба:

Создай­те новый Volume для локаль­ной базы Consul'а

Запу­сти­те Consul:

Пара­мет­ры:

-dev — озна­ча­ет, что consul будет запу­щен в режи­ме отлад­ки. Он нужен для быст­ро­го стар­та consul с веб интер­фей­сом. Дан­ный режим не под­хо­дит для про­дак­ше­на, т.к. не пишет дан­ные БД на диск.

-node=node01 — Уста­нав­ли­ва­ет назва­ние ноды, на кото­ром запу­щен consul. Имя долж­но быть уни­каль­ным в кластере

-client=0.0.0.0 — Бин­дит порт для HTTPDNS и REST IP.

-advertise=10.0.0.100 — Будет выда­вать ука­зан­ный IP адрес при DNS запро­се в Consul. Жела­тель­но ука­зы­вать IP адрес сер­ве­ра. 10.0.0.100 — это при­мер. Вы долж­ны ука­зать свой IP адрес. Если этот пара­метр не ука­зан, то зна­че­ние будет выбра­но из пара­мет­ра -bind.

-bind=ip-address — IP адрес, кото­рый будет исполь­зо­вать­ся в Consul кла­сте­ре, для обме­на данными.

-data-dir=/consul/data — Уста­нав­ли­ва­ет пап­ку для БД consul.

-recursor 8.8.8.8 — Гово­рит куда отправ­лять обыч­ные DNS запросы

8500 порт — Это порт HTTP и REST API

8600 порт — Это порт DNS. Будет про­бро­шен на 53 порт хост машины

Осталь­ные пара­мет­ры опи­са­ны здесь.

Автоматический запуск Consul при старте системы

За авто­ма­ти­че­ский запуск отве­ча­ет пара­метр Docker —restart=unless-stopped. Он озна­ча­ет пере­за­пус­кать кон­тей­нер до тех пор, пока он не будет оста­нов­лен вручную.

Отладка Consul

Вме­сто пара­мет­ра -d, после сло­ва run, мож­но ука­зать -it —rm. Тогда consul будет запу­щен в интер­ак­тив­ном режи­ме, а после оста­нов­ки, кон­тей­нер авто­ма­ти­че­ски уда­лить­ся. Это полез­но для отлад­ки пара­мет­ров запус­ка consul.

Запуск и остановка Consul

Оста­нов­ка контейнера:

Запуск кон­тей­не­ра:

Уда­ле­ние контейнера: