Как да генерирате Docker изображение от контейнер

Kak Da Generirate Docker Izobrazenie Ot Kontejner



Docker изображенията са един от ключовите компоненти на платформата Docker и играят съществена роля при изграждането, внедряването и изпращането на Docker приложения вътре в контейнера. Docker изображенията са шаблони или моментни снимки на контейнери, които инструктират контейнера как да контейнеризира и внедри приложението. Хиляди официални изображения са налични в регистъра на Docker Hub за контейнеризиране на приложението. Потребителите обаче могат също да създават тези изображения според техните изисквания, като използват услугата Dockerfile и Docker compose.

Понякога потребителите правят промени в настройките на контейнера и конфигурацията, но тези промени не са ангажирани в изображението на Docker. За да запазят промените на контейнера в изображението или да създадат резервно копие на контейнера, потребителите трябва да създадат ново изображение от контейнера. За тази конкретна цел „ докер ангажимент ” може да се използва команда.

Това ръководство ще демонстрира:







Какво представлява командата „docker commit“?

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



Синтаксис



докер ангажимент < НАСТРОИКИ > < Име на контейнер / ID на контейнера > < Изображение-Име >

Настроики





Следните опции се използват с „ докер ангажимент ” за създаване на изображение от контейнер по различни начини:

< силен > опция силен > td >
< td >< силен > Описание силен > td >
тр >
< тр >
< td >< силен > -а, --автор силен > td >
< td > Използва се за указване на името на автора, който извършва промените в контейнера в изображението. td >
тр >
< тр >
< td >< силен > -° С, --промяна силен > td >
< td > Добавете инструкциите на Dockerfile, за да извършите промените в изображение. td >
тр >
< тр >
< td >< силен > -m, --съобщение силен > td >
< td > Добавете съобщението или коментара за ангажиране докато генериране на изображение от контейнера. td >
тр >
< тр >
< td >< силен > -p, --пауза силен > td >
< td > Докато предавате контейнера, по подразбиране контейнерът ще бъде спрян или поставен на пауза. За да спрете паузата на контейнера, „ < силен > --пауза= невярно силен > ” се използва опцията.

Как да генерирам изображение от Docker контейнер?

Когато потребителят прави промени в контейнера на Docker директно през обвивката на контейнера или неинтерактивно, тези промени не променят моментната снимка на контейнера. За да запази или извърши модификации, потребителят може да генерира ново изображение от контейнера, като използва „ докер ангажимент ” команда. Това също е полезно за създаване на резервно копие на контейнера.



За да създадете изображение чрез контейнера на Docker, преминете през следната илюстрация.

Стъпка 1: Направете Dockerfile

Първо направете нов файл с име ' Докер файл ” и не добавяйте файлово разширение към името на файла. След това поставете следните команди в „Dockerfile“

ОТ nginx: най-новото

КОПИРАНЕ index.html / usr / дял / nginx / html / index.html

ВХОДНА ТОЧКА [ 'nginx' , '-g' , 'демон изключен;' ]

Тук „ ОТ ' се използва за дефиниране на базовото изображение на контейнера, ' КОПИЕ ” копира програмния файл в посочения път на контейнера, а командата „ ВХОДНА ТОЧКА ” задава изпълнимите файлове по подразбиране на контейнера.

Стъпка 2: Направете програмен файл

След това създайте друг файл ' index.html ” и добавете следния HTML код към файла:

< html >

< глава >

< стил >

тяло {

цвят на фона: rgb ( 9 , 4 , 4 ) ;

}

h1 {

цвят: rgb ( 221 , 219 , 226 ) ;

стил на шрифта: курсив;

}

стил >

глава >

< тяло >

< h1 > Това е първата HTML страница h1 >

тяло >

html >

Стъпка 3: Създайте моментна снимка на контейнера

Сега генерирайте моментна снимка на контейнера от Dockerfile, като използвате командата по-долу. Тук „ -T ” опцията се използва за задаване на името на моментната снимка:

изграждане на докер -T демо-изображение.

Стъпка 4: Стартирайте Snapshot to Start Container

След това стартирайте контейнера, като изпълните изображението на контейнера. За целта използвайте „ докер стартира <името-на-моментна снимка> ” команда:

докер изпълнение -стр 80 : 80 -- име демо-продълж демо-изобр

В горната команда, „ -стр ” опция задава излагащия порт на контейнера, “ – име ” указва името на контейнера и „ ” стартира контейнера в отделен режим:

След като изпълните контейнера, отидете до „ http:/localhost:80 ” URL и проверете дали контейнеризираната програма е достъпна на излагащия порт или не:

Горният резултат показва, че успешно сме стартирали контейнера.

Стъпка 5: Създайте нов програмен файл

Понякога от потребителите може да се изисква да добавят допълнителни функции към работещото приложение. За тази цел може да се наложи потребителят да направи промени в програмния файл или да добави допълнителни файлове към приложението.

За тази цел нека създадем друг файл с име ' индекс1.html ” и поставете следния код във файла:

< html >

< глава >

< стил >

тяло {

цвят на фона: rgb ( 106 , 103 , 103 ) ;

}

h1 {

цвят: rgb ( 221 , 219 , 226 ) ;

стил на шрифта: курсив;

}

стил >

глава >

< тяло >

< h1 > Това е втората HTML страница h1 >

тяло >

html >

Стъпка 6: Копирайте нов програмен файл в контейнер

За да копирате новия файл в пътя на контейнера, използвайте „ docker cp <име-на-файл> <име-на-продължение>:<целеви път на контейнер> ” команда. Тук сме копирали „ индекс1.html ” файл към „ демо-продълж ” посочен път на контейнера:

докер cp index1.html демо-продължение: / usr / дял / nginx / html / индекс1.html

Стъпка 7: Извършете промените на контейнера в ново изображение

След извършване на промени в контейнер, от потребителите се изисква да ангажират промените в ново изображение на Docker. Това изображение ще бъде генерирано чрез Docker контейнер. За целта стартирайте „ docker commit ” команда:

docker commit demo-cont new-demo-img

Забележка: Правене на промени в контейнера на Docker преди генериране на изображение чрез „ докер ангажимент ” командата не е задължителна. Потребителите могат директно да използват „docker commit“, за да генерират резервно копие на контейнера, като създадат изображението.

Стъпка 8: Потвърждение

За да проверите дали изображението е създадено или не чрез контейнера, изведете списък с Docker изображения, като използвате „ докер изображения ” команда:

докер изображения

Резултатът по-долу показва, че успешно сме генерирали „ нова-демо-изобр “ от “ демо-продълж ' контейнер:

Забележка: За да изпрати изображението на Docker към регистъра на центъра на Docker, потребителят може също да маркира изображението с помощта на „ докер етикет ” команда:

докер етикет < име на изображение > < име на хранилище >>< име на изображение > : < етикет / версия >

Стъпка 9: Премахнете стария контейнер

Сега премахнете по-стария контейнер. За тази цел първо спрете Docker контейнера с помощта на „ докер стоп <име-на-контейнер> ” команда:

докер спира демо-продълж

След като спрете контейнера, използвайте „ docker rm <име-на-контейнер/id-на-контейнер> ”, за да го премахнете от Docker:

докер rm демо-продълж

Стъпка 10: Стартирайте нов контейнер от ново ангажирано изображение

Сега стартирайте новото копие или Docker контейнер, като използвате новогенерираното изображение чрез „ докер изпълнение ” команда:

докер изпълнение -стр 80 : 80 -- име демо-продълж нова-демо-изобр

Сега навигирайте до „ локален хост: 80 ” и проверете дали HTML приложението работи ефективно или не:

За да проверите новокопирания файл, който е „ индекс1.html “, използвайте „ http://localhost/index1.html ” URL:

Горният резултат показва, че направените промени са запазени успешно в „ нова-демо-изобр ” Docker изображение и ние ефективно стартирахме модифицирания контейнер.

Как да задам автора на изображение?

докер ангажимент ” Командата също поддържа различни опции за добавяне на допълнителна информация заедно с ангажираните промени, като например автор на новите промени, съобщение за ангажиране и т.н.

За да посочите автора на изображението, което извършва новите промени, преминете през дадените стъпки.

Стъпка 1: Задайте автора на изображението

За да посочите автора на изображението, който прави промените, използвайте „ ' или ' – автор ' опция заедно с ' докер ангажимент ” команда:

докер ангажимент rafia demo-cont new-demo-img

Стъпка 2: Проверете изображението

За да проверите дали авторът на изображението е зададен или не, проверете новогенерираното изображение, като използвате „ докер инспектира <име-на-изображение> ” команда:

докер инспектира new-demo-img

Резултатът показва, че ефективно сме задали автора на изображението:

Как да задам съобщение за ангажиране на изображение?

За да зададете съобщението за ангажиране заедно с промените за ангажиране, използвайте „ ” опция. За илюстрация следвайте инструкциите по-долу.

Стъпка 1: Задайте съобщение за ангажиране на изображението

За да зададете съобщението заедно с извършените промени, използвайте „ docker commit -m <“съобщение”> ” команда:

докер ангажимент рафия „Това изображение е генерирано от контейнер“ демо-продължение нова-демо-изобр

Стъпка 2: Проверете изображението

За да проверите съобщението за ангажиране, проверете изображението през „ докер инспектира <име-на-изображение> ” команда:

докер инспектира new-demo-img

Под ' Коментирайте ”, потребителят може да види съобщението за ангажиране, както е показано по-долу:

Това е всичко за генериране на Docker изображение от контейнер.

Заключение

За да генерирате изображение на Docker от контейнер, първо направете промените в контейнера на Docker. След това използвайте „ docker commit ” за генериране на изображението от контейнера. Сега премахнете по-стария контейнер и стартирайте новия екземпляр чрез новогенерираното изображение. Потребителите могат също да зададат името на автора на изображението, като използват „ ” и ангажирайте съобщението с помощта на „ ” опция. Този блог илюстрира как да генерирате изображения от Docker контейнер.