Ансибле

Како зауставити све Доцкер контејнере помоћу програма Ансибле

Како зауставити све Доцкер контејнере помоћу програма Ансибле
Ансибле има много модула за аутоматизацију вашег Доцкер хоста, контејнера, волумена, мрежа итд. Ако желите да зауставите свој покренути Доцкер контејнере, можете и то.

У овом чланку ћу вам показати како зауставити одређени Доцкер контејнер. Такође ћу вам показати како да зауставите све активне Доцкер контејнере или све Доцкер контејнере који изводе одређену Доцкер слику користећи Ансибле. Па, кренимо.

Предуслови:

Ако желите да испробате примере овог чланка,

1) На рачунару морате имати инсталиран Ансибле.
2) На рачунару или на удаљеном Убунту хосту морате имати инсталиран Доцкер.
3) На вашем Доцкер хосту мора бити инсталирана библиотека Питхон Доцкер.
4) Морате конфигурирати Доцкер хоста за Ансибле аутоматизацију.

БЕЛЕШКА: Доцкер домаћин је рачунар на коме сте инсталирали Доцкер.

На ЛинукХинту постоји много чланака посвећених Инсталирању Ансибле-а и конфигурисању хостова за Ансибле аутоматизацију и инсталирање Доцкера. Можете их погледати ако је потребно.

Креирање директорија пројекта:

Да би све датотеке и директоријуми које ћемо креирати у овом чланку били организовани, добра је идеја створити директоријум пројекта.

Да бисте креирали директоријум пројекта доцкер1 / у тренутном радном директоријуму покрените следећу наредбу:

$ мкдир -пв доцкер1 / плаибоокс

Сада идите на доцкер1 / директоријум пројекта како следи:

$ цд доцкер1 /

Конфигурисање Ансибле за даљинску аутоматску аутоматизацију хоста:

Ако имате Доцкер инсталиран на удаљеном Убунту хосту који желите аутоматизовати помоћу Ансибле, онда је овај одељак за вас.

Прво створите датотеку инвентара Ансибле домаћини са следећом командом:

$ нано домаћини

Сада додајте ИП адресу или ДНС име вашег Доцкер хоста у домаћини инвентарски спис како следи.

[доцкер]
вм4.нодеките.цом

У мом случају, ДНС име мог Убунту Доцкер хоста је вм4.нодеките.цом. За вас ће бити другачије. Зато га обавезно замените.

Када завршите, притисните + Икс затим И и да спаси домаћини датотека.

Сада креирајте конфигурациону датотеку Ансибле ансибле.цфг као што следи:

$ нано ансибле.цфг

Сада укуцајте следеће редове у ансибле.цфг конфигурациона датотека.

[доцкер]
вм4.нодеките.цом

Када завршите, притисните + Икс затим И и да спаси ансибле.цфг датотека.

Сада проверите да ли можете пингати удаљени Доцкер хост са рачунара следећом командом:

$ ансибле алл -у ансибле -м пинг

Као што видите, могу пингати свој удаљени Доцкер хост.

Као што видите, имам Доцкер 19.03.11 инсталиран на мом удаљеном Убунту Доцкер хосту.

Сада морате да имате инсталирану библиотеку Питхон Доцкер на удаљеном Доцкер хосту да би модули Ансибле доцкер могли да раде. У овом чланку користим Убунту. Дакле, ово је оно што ћу покрити.

Да бисте инсталирали библиотеку Питхон Доцкер на удаљеном Доцкер хосту (Убунту), креирајте нову књигу Ансибле инсталл_доцкер_питхон_либ.иамл у плаибоокс / директоријум како следи:

$ нано плаибоокс / инсталл_доцкер_питхон_либ.иамл

Сада укуцајте следеће редове у инсталл_доцкер_питхон_либ.иамл датотека.

- домаћини: доцкер
корисник: ансибле
постати: Истина
задаци:
- име: Уверите се да је инсталиран пакет питхон3-доцкер
погодан:
име: питхон3-доцкер
стање: присутно
упдате_цацхе: Тачно

Када завршите, притисните + Икс затим И и да спаси инсталл_доцкер_питхон_либ.иамл датотека.

Сада покрените инсталл_доцкер_питхон_либ.иамл књига прилога на следећи начин:

$ ансибле-плаибоок плаибоокс / инсталл_доцкер_питхон_либ.иамл

Књига приручника би требало успешно да се покреће и инсталираће библиотеку Питхон Доцкер на удаљени Доцкер домаћин.

Конфигурисање Ансибле за локалну аутоматизацију хоста Доцкер:

Ако имате Доцкер инсталиран на хосту на који сте инсталирали Ансибле и желите да га аутоматизујете помоћу Ансибле, онда је овај одељак за вас.

Прво створите нову књигу одговора Ансибле инсталл_доцкер_питхон_либ.иамл у плаибоокс / директоријум како следи:

$ нано плаибоокс / инсталл_доцкер_питхон_либ.иамл

Сада укуцајте следеће редове у инсталл_доцкер_питхон_либ.иамл датотека.

- домаћини: лоцалхост
веза: локална
корисник: сховон
постати: Истина
задаци:
- име: Уверите се да је инсталиран пакет питхон3-доцкер
погодан:
име: питхон3-доцкер
стање: присутно
упдате_цацхе: Тачно

Ево, линија корисник: сховон сетови сховон као корисник који ће извршавати задатке. За вас ће бити другачије. Дакле, обавезно га промените у своје корисничко име за пријаву.

Можете пронаћи корисничко име за пријављивање вашег Доцкер хоста помоћу следеће наредбе:

$ вхоами

Када завршите, притисните + Икс затим И и да спаси инсталл_доцкер_питхон_либ.иамл датотека.

Сада покрените инсталл_доцкер_питхон_либ.иамл књига прилога на следећи начин:

$ ансибле-плаибоок --аск-пасс --аск-бецоме-пасс
плаибоокс / инсталл_доцкер_питхон_либ.иамл

Ансибле ће вас питати за лозинку за пријављивање корисника којег сте навели у приручнику. Укуцајте лозинку за пријаву и притисните .

Ансибле ће вас такође питати за ПОСТАНИТЕ / судо лозинку. То би требала бити иста лозинка као и лозинка за пријаву. Дакле, оставите га празним и притисните .

Књига са играма би требало да почне да ради. Може потрајати неко време да се заврши.

У овом тренутку, приручник би требао бити успешан и требало би инсталирати библиотеку Питхон Доцкер.

Потребно прилагођавање Плаибоок-а:

У зависности од тога да ли управљате Доцкер контејнерима на вашем локалном Доцкер хосту или на удаљеном Доцкер хосту, морате да прилагодите своје плаибоокс у складу с тим.

Из следећих одељака овог чланка покренућу примере књига књига на удаљеном Доцкер хосту. Дакле, све књиге књига почеће са следећим редовима:

- домаћини: доцкер
корисник: ансибле
задаци:

Ако желите да покренете књиге за репродукцију на локалном Доцкер хосту, уверите се да књиге за књиге почињу са следећим редовима.

- домаћини: лоцалхост
веза: локална
корисник: сховон
постати: Истина
задаци:

Затим замените са задацима које желите да покренете и сачувајте књигу песама притиском на + Икс затим И и .

Такође морате да покренете Ансибле плаибоокс мало другачије ако ћете локално управљати Доцкер хостом користећи Ансибле.

Локални приручник Ансибле можете покренути на следећи начин:

$ ансибле-плаибоок --аск-пасс --аск-бецоме-пасс

Обавезно се промените до путање до ваше датотеке Ансибле плаибоок ИАМЛ.

Заустављање Доцкер контејнера:

Ако имате покренут Доцкер контејнер и знате ИД или назив Доцкер контејнера, можете лако зауставити тај Доцкер контејнер помоћу Ансибле.

У овом одељку ћу вам показати како се то ради.

Прво ћу створити Нгинк (име слике) Доцкер контејнер хттп_сервер1 (назив контејнера) како следи:

$ доцкер покрени -п 8080: 80 -д --име хттп_сервер1 нгинк

Као што видите, Доцкер контејнер хттп_сервер1 трчи.

$ доцкер пс

Да зауставите Доцкер контејнер хттп_сервер1 користећи Ансибле креирајте нову књигу песама стоп_цонтаинер.иамл у плаибоокс / директоријум како следи:

$ нано плаибоокс / стоп_цонтаинер.иамл

Затим укуцајте следеће редове у стоп_цонтаинер.иамл плаибоок.

- домаћини: доцкер
корисник: ансибле
задаци:
- име: Зауставите контејнер хттп_сервер1
доцкер_цонтаинер:
име: хттп_сервер1
стање: заустављено

Када завршите, притисните + Икс затим И и да спаси стоп_цонтаинер.иамл датотека.

Ево, Ансибле доцкер_цонтаинер модул се користи за заустављање Доцкер контејнера хттп_сервер1.

Сада покрените стоп_цонтаинер.иамл плаибоок са следећом командом:

$ ансибле-плаибоок плаибоокс / стоп_цонтаинер.иамл

Као што видите, Доцкер контејнер хттп_сервер1 се више не изводи на мом удаљеном Доцкер хосту.

$ доцкер пс

Можете навести све Доцкер контејнере (покренути, паузирани, заустављени) следећом наредбом:

$ доцкер пс --све

Као што видите, заустављени Доцкер контејнер хттп_сервер1 је наведен.

Заустављање свих активних Доцкер контејнера:

Ако желите да зауставите све Доцкер контејнере који се изводе на вашем Доцкер хосту користећи Ансибле, онда је овај одељак за вас.

Прво ћу направити 3 Доцкер контејнера (сервер1, сервер2, и сервер3) како бих их касније могао зауставити помоћу Ансибле-а.

Да бисте креирали сервер1 Доцкер контејнер, покрените следећу команду:

$ доцкер покрени -п 8081: 80 -д --име сервер1 нгинк

Да бисте креирали сервер2 Доцкер контејнер, покрените следећу команду:

$ доцкер покрени -п 8082: 80 -д --име сервер2 нгинк

Да бисте креирали сервер3 Доцкер контејнер, покрените следећу команду:

$ доцкер покрени -п 8083: 80 -д --име сервер3 нгинк

Као што видите, сервер1, сервер2, и сервер3 Доцкер контејнери се изводе на мом удаљеном Доцкер хосту.

$ доцкер пс

Да бисте зауставили све оне Доцкер контејнере, направите нову књигу песама стоп_алл_цонтаинер.иамл у вашем плаибоокс / директоријум како следи:

$ нано плаибоокс / стоп_алл_цонтаинер.иамл

Сада укуцајте следеће редове у стоп_алл_цонтаинер.иамл датотека плаибоок-а.

- домаћини: доцкер
корисник: ансибле
задаци:
- име: Набавите листу свих активних контејнера
доцкер_хост_инфо:
контејнери: Тачно
регистар: доцкер_инфо
- име: Зауставите све покренуте контејнере
доцкер_цонтаинер:
име: 'ставка.Имена [0] | регуларно_реплаце ("^ /", "") '
стање: заустављено
петља: 'доцкер_инфо.контејнери '

Да бисте сачували стоп_алл_цонтаинер.иамл датотеку, притисните + Икс затим И и .

Овде сам дефинисао 2 задатка.

Први задатак користи Ансибле доцкер_хост_инфо модул да бисте добили листу свих активних Доцкер контејнера и сачували је у доцкер_инфо променљива.

Други задатак петља кроз доцкер_инфо.контејнери низ проналази покретана имена контејнера Доцкера и зауставља их једно по једно.

Сада покрените стоп_алл_цонтаинер.иамл плаибоок са следећом командом:

$ ансибле-плаибоок плаибоокс / стоп_алл_цонтаинер.иамл

Књига приручника би требало успешно да се покреће, као што видите на снимку екрана испод.

Као што видите, на мом удаљеном Доцкер хосту нема покренутих Доцкер контејнера.

$ доцкер пс

Можете навести све Доцкер контејнере (покренути, паузирани, заустављени) следећом наредбом:

$ доцкер пс --све

Као што видите, заустављени Доцкер-ови контејнери сервер1, сервер2, и сервер3 су наведени.

Заустави све Доцкер контејнере са одређеном сликом:

Ако желите да зауставите све Доцкер контејнере који изводе одређену Доцкер слику, онда је овај одељак за вас.

Прво, направимо неке глупе Доцкер контејнере.

Направићу 2 Доцкер контејнера (нгинк1 и нгинк2) помоћу Нгинк Доцкер слика и 2 Доцкер контејнера (хттп1 и хттп2) помоћу хттпд Доцкер слика за демонстрацију.

Да бисте креирали нгинк1 Доцкер контејнер помоћу Нгинк Доцкер слика, покрените следећу команду:

$ доцкер рун -д -п 8081: 80 --наме нгинк1 нгинк

Да бисте креирали нгинк2 Доцкер контејнер помоћу Нгинк Доцкер слика, покрените следећу команду:

$ доцкер рун -д -п 8082: 80 --наме нгинк2 нгинк

Да бисте креирали хттп1 Доцкер контејнер помоћу хттпд Доцкер слика, покрените следећу команду:

$ доцкер рун -д -п 8091: 80 --наме хттп1 хттпд

Да бисте креирали хттп2 Доцкер контејнер помоћу хттпд Доцкер слика, покрените следећу команду:

$ доцкер рун -д -п 8092: 80 --наме хттп2 хттпд

Као што видите, нгинк1, нгинк2, хттп1, и хттп2 Доцкер контејнери се изводе на мом удаљеном Доцкер хосту.

Да бисте зауставили све Доцкер контејнере који изводе одређену Доцкер слику (рецимо, нгинк), креирајте нови Доцкер приручник стоп_алл_имаге_цонтаинерс.иамл у плаибоокс / директоријум како следи:

$ нано плаибоокс / стоп_алл_имаге_цонтаинерс.иамл

Сада укуцајте следеће редове у стоп_алл_имаге_цонтаинерс.иамл датотека.

- домаћини: доцкер
корисник: ансибле
задаци:
- име: Набавите листу свих активних контејнера
доцкер_хост_инфо:
контејнери: Тачно
регистар: доцкер_инфо
- име: Зауставите све контејнере који изводе нгинк слику
доцкер_цонтаинер:
име: 'ставка.Имена [0] | регуларно_реплаце ("^ /", "") '
стање: заустављено
када: ставка.Слика == 'нгинк'
петља: 'доцкер_инфо.контејнери '

Када завршите, притисните + Икс затим И и да спаси стоп_алл_имаге_цонтаинерс.иамл датотека.

Ево, додао сам 2 задатка.

Први задатак користи Ансибле доцкер_хост_инфо модул да бисте добили листу свих активних Доцкер контејнера и сачували је у доцкер_инфо променљива.

Други задатак петља кроз доцкер_инфо.контејнери низ проналази имена текућег Доцкер контејнера и покреће доцкер_цонтаинер модул за сваки активни контејнер само ако је име слике контејнера Нгинк. Затим зауставља одговарајуће Доцкер контејнере.

У другом задатку, следећи ред се користи за проверу да ли Доцкер контејнер покреће Нгинк слика. Ако желите, можете га променити у друго име Доцкерове слике.

Сада покрените стоп_алл_имаге_цонтаинерс.иамл књига прилога на следећи начин:

$ ансибле-плаибоок плаибоокс / стоп_алл_имаге_цонтаинерс.иамл

Као што видите, само Нгинк контејнери (нгинк1 и нгинк2) су измењени (заустављени). Тхе хттпд контејнери (хттп1 и хттп2) прескачу се.

Као што видите, не Нгинк Доцкер контејнери раде на мом удаљеном Доцкер хосту. Само хттпд Доцкер контејнери (хттп1 и хттп2) трчи.

$ доцкер пс

Можете навести све Доцкер контејнере (покренути, паузирани, заустављени) следећом наредбом:

$ доцкер пс --све

Као што видите, заустављени Доцкер-ови контејнери нгинк1 и нгинк2 су наведени.

Закључак:

У овом чланку показао сам вам како да зауставите активни Доцкер контејнер, све Доцкер контејнере који изводе одређену Доцкер слику и све активне Доцкер контејнере вашег Доцкер хоста. Да бих то урадио, користио сам Ансибле доцкер_цонтаинер и доцкер_хост_инфо модули у овом чланку.

Да бисте сазнали више о овим модулима, посетите следеће странице службене документације компаније Ансибле.

[1] доцкер_цонтаинер - Управљање доцкер контејнерима
[2] доцкер_хост_инфо - Дохваћа чињенице о хону доцкера и спискове објеката услуга

Како развити игру на Линуку
Пре деценију, није много корисника Линука предвидело да ће њихов омиљени оперативни систем једног дана бити популарна платформа за играње комерцијални...
Портови комерцијалних игара отвореног кода
Бесплатне рекреације покретачких игара са отвореним кодом и више платформи могу се користити за играње старих, као и неких прилично недавних наслова и...
Најбоље игре командне линије за Линук
Командна линија није само ваш највећи савезник када користите Линук - она ​​такође може бити извор забаве јер је можете користити за играње многих заб...