Доцкерфиле је једноставна текстуална датотека која садржи све наредбе које је корисник могао позвати у командној линији за састављање или изградњу слике. Уз помоћ доцкер градње можете лако аутоматизовати изградњу која изводи више наредби дефинисаних у доцкерфилеу узастопно.
На пример, желите да преузмете слику доцкера са чворишта докера за своје специфичне развојне потребе. Затим, желите да ажурирате слику, инсталирате неке пакете за свој развојни процес. У овом случају можете да направите доцкер датотеку, да укључите све параметре за своје специфичне потребе и направите своју прилагођену слику. Након креирања доцкер датотеке, можете је изнова користити за изградњу исте слике без ручног инсталирања свих потребних пакета за ваш развојни процес.
Доцкерфиле Басиц
Пре рада са доцкерфиле-ом, ако је важно знати како направити доцкерфиле. Доцкерфиле укључује одређене кључне речи које се могу користити за изградњу одређене слике. У наставку су наведена кратка објашњења свих кључних речи коришћених у доцкер датотеци:
- ОД: Користи се за дефинисање основне слике на којој ћемо градити.
- ДОДАТИ: Користи се за додавање датотека у контејнер који се гради. Једноставно речено, РУН се користи за покретање наредби и урезивање резултата
- ТРЦАТИ: Користи се за додавање слојева основној слици инсталирањем компонената.
- ЦМД: Користи се за покретање наредби на почетку контејнера. Ове наредбе се изводе само када није наведен аргумент током извођења контејнера.
- УЛАЗНА ТАЧКА: Користи се за покретање наредби током процеса иницијализације контејнера. Морате да користите ЕНТРИПОИНТ у вашем доцкефилеу ако желите аутоматски да покренете контејнер након изградње слике.
- ЕНВ: Користи се за дефинисање променљивих околине у времену извођења контејнера.
- ИЗЛОЖИТИ: Користи се за одређивање порта за слушање како би се омогућило умрежавање у току рада.
- ОДРЖАВАЊЕ: Користи се за одређивање имена и ИД-а е-поште творца слике.
- КОРИСНИК: Користи се за одређивање корисничког имена које се користи за покретање контејнера.
- ОБИМ: Користи се за омогућавање приступа из контејнера директоријуму на Доцкер хосту.
- ВОРКДИР: Користи се за одређивање путање наредбе која ће се извршити у време извођења.
- ОЗНАКА: Користи се за додавање налепница на слику доцкера.
Прављење Доцкер датотеке
У овом одељку ћемо створити доцкер датотеку за изградњу слике ЛАМП сервера од основне слике Убунту-а.
Прво, мораћете да креирате директоријум за складиштење датотеке доцкер. Можете га креирати помоћу следеће команде:
мкдир ЛАМПДаље, креирајте директоријум под називом Доцкерфиле унутар директоријума:
нано ЛАМП / ДоцкерфилеДодајте следеће редове:
ИЗ убунту-а: најновијеОДРЖАВАЦ Хитесх Јетхва
ЕНВ ДЕБИАН_ФРОНТЕНД = неинтерактиван
ПОКРЕНИ апт-гет упдате -и && апт-гет инсталл апацхе2 мариадб-сервер
либапацхе2-мод-пхп пхп пхп-цли пхп-уобичајени пхп-мискл пхп-јсон пхп-цурл -и
ЦМД ["апацхецтл", "- Д", "ПРЕТХОДНА"]
ИЗЛОЖИТЕ 8080
Сачувајте и затворите датотеку када завршите.
Изградња слике помоћу Доцкерфиле-а
Након креирања Доцкерфиле датотеке, лако можете створити прилагођену ЛАМП слику помоћу Доцкерфиле датотеке.
Прво промените директоријум у ЛАМП и покрените следећу наредбу за изградњу слике из те датотеке:
цд ЛАМПдоцкер буилд -т "лампица: Доцкерфиле".
Горња команда ће започети преузимање најновије слике Убунту-а са Доцкер Хуб-а и инсталирати неопходне пакете наведене у Доцкерфиле-у. Након што је слика успешно изграђена, требали бисте видети следећи излаз:
Слање контекста градње у Доцкер демон 2.048кБКорак 1/6: ИЗ убунту-а: најновији
најновије: Повлачење из библиотеке / убунту
54ее1ф796а1е: Повуците довршено
ф7бфеа53ад12: Повлачење завршено
46д371е02073: Повлачење завршено
б66ц17ббф772: Повлачење завршено
Дигест: сха256: 31дфб10д52це76ц5ца0аа19д10б3е6424б830729е32а89а7ц6еее2цда2бе67а5
Статус: Преузета новија слика за убунту: најновија
---> 4е2ееф94цд6б
Корак 2/6: ОДРЖАВАЧ Хитесх Јетхва
---> Трчање у 047977аф2ц2а
Уклањање средњег контејнера 047977аф2ц2а
---> 1331дф625ц4ц
Корак 3/6: ЕНВ ДЕБИАН_ФРОНТЕНД = неинтерактиван
---> Трчање у 3597152ц7а1б
Уклањање средњег контејнера 3597152ц7а1б
---> 86ц82ц95е75д
Корак 4/6: ПОКРЕНИ апт-гет упдате -и && апт-гет инсталл апацхе2 мариадб-сервер
либапацхе2-мод-пхп пхп пхп-цли пхп-уобичајени пхп-мискл пхп-јсон пхп-цурл -и
Уклањање средњег контејнера 322532299фд9
---> ф6897а9554ф7
Корак 5/6: ЦМД [„апацхецтл“, „- Д“, „ФОРЕГРОУНД“]
---> Покреће се у 669635бц8бцб
Уклањање средњег контејнера 669635бц8бцб
---> е8400еб2е677
Корак 6/6: ИЗЛОЖИТЕ 8080
---> Трчање у 937ае2б2д305
Уклањање средњег контејнера 937ае2б2д305
---> 2123а857361д
Успешно изграђена 2123а857361д
Успешно означена лампа: Доцкерфиле
Сада можете да наведете новоизграђену слику покретањем следеће наредбе:
доцкер сликеТребали бисте видети следећи излаз:
СТВОРЕНА ВЕЛИЧИНА ИДА СЛИКЕ РЕПОЗИТОРИЈСКЕ ТАГлампица Доцкерфиле 2123а857361д пре 44 секунди 520МБ
убунту најновије 4е2ееф94цд6б пре 8 дана 73.9МБ
Сада у својој руци имате прилагођену слику ЛАМП сервера. Такође можете видети историју сваке наредбе помоћу следеће наредбе:
лампица историје доцкера: ДоцкерфилеТребали бисте видети следећи излаз:
СЛИКА СТВОРЕНА СТВОРЕНА ПО ВЕЛИЧИНИ КОМЕНТАРОМ2123а857361д пре 16 минута / бин / сх -ц # (ноп) ЕКСПОСЕ 8080 0Б
е8400еб2е677 пре 16 минута / бин / сх -ц # (ноп) ЦМД ["апацхецтл" "-Д" "ФО… 0Б
ф6897а9554ф7 пре 16 минута / бин / сх -ц апт-гет упдате -и && апт-гет инст… 446МБ
86ц82ц95е75д пре 17 минута / бин / сх -ц # (ноп) ЕНВ ДЕБИАН_ФРОНТЕНД = нонин… 0Б
1331дф625ц4ц пре 17 минута / бин / сх -ц # (ноп) МАИНТАИНЕР Хитесх Јетхва 0Б
4е2ееф94цд6б пре 8 дана / бин / сх -ц # (ноп) ЦМД ["/ бин / басх"] 0Б
Прављење контејнера од ЛАМП слике
Сада можете покренути контејнер са слике помоћу следеће наредбе:
доцкер рун -дит лампица: ДоцкерфилеЈедном када је контејнер покренут, требало би да видите следећи излаз:
0д2беб7дба01бб763768б116ф734ае68286цее00д2ае923б2б7241ц39ад54208Можете проверити покренут контејнер помоћу следеће наредбе:
доцкер псТребали бисте добити следећи излаз:
ЗАПОВЕД ИД ИД-а КОНТЕЈНЕРА СТВОРЕНИ СТАТУС ЛУЧКА ИМЕНАц14794784еб2 лампа: Доцкерфиле "апацхецтл -Д ФОРЕГР…" пре 2 минута Горе 2 минута 0.0.0.0: 8080-> 8080 / тцп куирки_раманујан
Закључак
У овом водичу сте научили шта је Доцкерфиле и како направити Доцкер слику са Доцкерфиле-ом. Ово је врло корисно за креирање ваших прилагођених слика уместо за урезивање извучене слике.