Paano Gumawa ng Docker Image Mula sa isang Container

Paano Gumawa Ng Docker Image Mula Sa Isang Container



Ang mga larawan ng Docker ay isa sa mga pangunahing bahagi ng platform ng Docker at gumaganap ng mahalagang papel sa pagbuo, pag-deploy, at pagpapadala ng mga application ng Docker sa loob ng container. Ang mga larawan ng Docker ay mga template o snapshot ng mga container na nagtuturo sa container kung paano i-container at i-deploy ang application. Libu-libong opisyal na larawan ang available sa registry ng Docker Hub upang i-container ang application. Gayunpaman, maaari ding likhain ng mga user ang mga larawang ito ayon sa kanilang mga kinakailangan gamit ang serbisyo ng Dockerfile at Docker compose.

Minsan, ang mga user ay gumagawa ng mga pagbabago sa mga setting ng container at configuration, ngunit ang mga pagbabagong ito ay hindi ginawa sa larawan ng Docker. Para i-save ang mga pagbabago sa container sa larawan o para gawin ang backup ng container, kinakailangan ng mga user na bumuo ng bagong larawan mula sa container. Para sa partikular na layunin, ang ' gumawa ng docker ” utos ay maaaring gamitin.

Ipapakita ng gabay na ito ang:







Ano ang 'docker commit' Command?

Ang ' gumawa ng docker Ang command ay isa sa mga command line utility ng Docker na ginagamit upang i-commit ang mga pagbabago at setting ng container sa imahe ng Docker. Ginagamit din ito upang lumikha ng backup ng container kapag kinakailangan ng mga user na i-declutter ang Docker sa pamamagitan ng pag-alis ng mga container ng Docker. Gayunpaman, kasama lang sa docker commit command ang container file at mga pagbabago sa configuration sa Docker image, hinding-hindi nito ise-save ang data ng volume na naka-mount sa container.



Syntax



gumawa ng docker < MGA OPSYON > < Pangalan ng lalagyan / Container-ID > < Pangalan ng Larawan >

Mga pagpipilian





Ang mga sumusunod na opsyon ay ginagamit sa ' gumawa ng docker ” utos upang lumikha ng isang imahe mula sa isang lalagyan sa iba't ibang paraan:

< malakas > Pagpipilian malakas > td >
< td >< malakas > Paglalarawan malakas > td >
tr >
< tr >
< td >< malakas > -a, --may-akda malakas > td >
< td > Ginagamit ito upang tukuyin ang pangalan ng may-akda na gumagawa ng mga pagbabago sa container sa ang imahe. td >
tr >
< tr >
< td >< malakas > -c, --pagbabago malakas > td >
< td > Idagdag ang mga tagubilin sa Dockerfile upang gawin ang mga pagbabago sa isang imahe. td >
tr >
< tr >
< td >< malakas > -m, --mensahe malakas > td >
< td > Idagdag ang commit na mensahe o komento habang pagbuo ng isang imahe mula sa lalagyan. td >
tr >
< tr >
< td >< malakas > -p, --pause malakas > td >
< td > Habang ginagawa ang container, bilang default, ihihinto o ipo-pause ang container. Para pigilan ang container sa pag-pause, ang “ < malakas > --pause= mali malakas > 'Ginagamit ang opsyon.

Paano Gumawa ng Imahe Mula sa isang Docker Container?

Kapag ang user ay gumawa ng mga pagbabago sa Docker container nang direkta sa pamamagitan ng container shell o hindi interactive, hindi binabago ng mga pagbabagong ito ang container snapshot. Upang mag-save o gumawa ng mga pagbabago, ang user ay makakabuo ng bagong larawan mula sa lalagyan gamit ang ' gumawa ng docker ” utos. Nakakatulong din ito sa paggawa ng backup ng container.



Upang lumikha ng isang imahe sa pamamagitan ng lalagyan ng Docker, dumaan sa sumusunod na paglalarawan.

Hakbang 1: Gumawa ng Dockerfile

Una, gumawa ng bagong file na pinangalanang ' Dockerfile ” at huwag magdagdag ng anumang extension ng file na may pangalan ng file. Pagkatapos nito, i-paste ang mga sumusunod na command sa 'Dockerfile'

MULA nginx:pinakabago

Kopyahin ang index.html / usr / ibahagi / nginx / html / index.html

PASUKAN [ 'nginx' , '-g' , 'demonyo off;' ]

Dito, ang ' MULA SA 'Ang command ay ginagamit upang tukuyin ang base ng lalagyan na imahe, ang ' KOPYA Kinokopya ng command ng ” ang file ng program sa tinukoy na landas ng lalagyan, at ang “ PASUKAN Ang command na ” ay nagtatakda ng mga default na executable ng container.

Hakbang 2: Gumawa ng File ng Programa

Susunod, lumikha ng isa pang file ' index.html ” at idagdag ang sumusunod na HTML code sa file:

< html >

< ulo >

< istilo >

katawan {

kulay ng background:rgb ( 9 , 4 , 4 ) ;

}

h1 {

kulay:rgb ( 221 , 219 , 226 ) ;

font-style: italic;

}

istilo >

ulo >

< katawan >

< h1 > Ito ang Unang HTML na pahina h1 >

katawan >

html >

Hakbang 3: Bumuo ng Snapshot ng Container

Ngayon, bumuo ng snapshot ng container mula sa Dockerfile gamit ang command sa ibaba. Dito, ang ' -t ' ang opsyon ay ginagamit upang itakda ang pangalan ng snapshot:

pagtatayo ng docker -t demo-img .

Hakbang 4: Patakbuhin ang Snapshot upang Simulan ang Container

Susunod, simulan ang lalagyan sa pamamagitan ng pagsasagawa ng imahe ng lalagyan. Para sa layuning ito, gamitin ang ' docker run ” utos:

tumakbo sa pantalan -p 80 : 80 --pangalan demo-cont -d demo-img

Sa utos sa itaas, ang ' -p 'Ang opsyon ay nagtatakda ng naglalantad na port ng lalagyan,' –pangalan Tinutukoy ng ” ang pangalan ng container at ang “ -d ' pinapatakbo ng opsyon ang lalagyan sa hiwalay na mode:

Pagkatapos isagawa ang lalagyan, mag-navigate sa ' http://localhost:80 ” URL at tingnan kung naa-access ang containerized program sa expose port o hindi:

Ipinapakita ng output sa itaas na matagumpay naming nasimulan ang lalagyan.

Hakbang 5: Gumawa ng Bagong File ng Programa

Minsan, maaaring kailanganin ng mga user na magdagdag ng mga karagdagang functionality sa tumatakbong application. Para sa layuning ito, maaaring kailanganin ng user na gumawa ng mga pagbabago sa file ng programa o maaaring magdagdag ng mga karagdagang file sa application.

Para sa layuning ito, gumawa tayo ng isa pang file na may pangalang ' index1.html ” at i-paste ang sumusunod na code sa file:

< html >

< ulo >

< istilo >

katawan {

kulay ng background:rgb ( 106 , 103 , 103 ) ;

}

h1 {

kulay:rgb ( 221 , 219 , 226 ) ;

font-style: italic;

}

istilo >

ulo >

< katawan >

< h1 > Ito ang Pangalawang HTML na pahina h1 >

katawan >

html >

Hakbang 6: Kopyahin ang Bagong File ng Programa sa Container

Para kopyahin ang bagong file sa container path, gamitin ang “ docker cp : ” utos. Dito, kinopya namin ang ' index1.html ” file sa “ demo-cont ” ang tinukoy na landas ng container:

docker cp index1.html demo-cont: / usr / ibahagi / nginx / html / index1.html

Hakbang 7: I-commit ang Mga Pagbabago sa Container sa Bagong Larawan

Pagkatapos gumawa ng mga pagbabago sa isang container, kinakailangan ng mga user na i-commit ang mga pagbabago sa isang bagong larawan ng Docker. Ang larawang ito ay bubuo sa pamamagitan ng isang Docker container. Para sa layuning ito, patakbuhin ang ' docker commit ” utos:

ang docker ay gumawa ng demo-cont new-demo-img

Tandaan: Gumagawa ng mga pagbabago sa lalagyan ng Docker bago bumuo ng imahe sa pamamagitan ng ' gumawa ng docker ” ang utos ay hindi sapilitan. Maaaring direktang gamitin ng mga user ang 'docker commit' upang bumuo ng backup ng container sa pamamagitan ng paggawa ng larawan.

Hakbang 8: Kumpirmasyon

Upang suriin kung ang imahe ay nilikha o hindi sa pamamagitan ng lalagyan, ilista ang mga imahe ng Docker sa pamamagitan ng paggamit ng ' mga larawan ng docker ” utos:

mga larawan ng docker

Ang output sa ibaba ay nagpapakita na matagumpay naming nabuo ang ' bagong-demo-img 'mula sa' demo-cont ” lalagyan:

Tandaan: Upang itulak ang imahe ng Docker sa registry ng Docker hub, maaari ding i-tag ng user ang larawan gamit ang “ tag ng pantalan ” utos:

tag ng pantalan < pangalan ng imahe > < repository-pangalan >>< pangalan ng imahe > : < tag / bersyon >

Hakbang 9: Alisin ang Lumang Lalagyan

Ngayon, alisin ang mas lumang lalagyan. Para sa layuning ito, itigil muna ang lalagyan ng Docker gamit ang ' docker stop ” utos:

docker stop demo-cont

Pagkatapos ihinto ang lalagyan, gamitin ang ' docker rm ” utos upang alisin ito mula sa Docker:

docker rm demo-cont

Hakbang 10: Magpatakbo ng Bagong Container Mula sa Bagong Naka-commit na Larawan

Ngayon, simulan ang bagong instance o Docker container gamit ang bagong nabuong imahe sa pamamagitan ng “ tumakbo sa pantalan ” utos:

tumakbo sa pantalan -p 80 : 80 --pangalan demo-cont -d bagong-demo-img

Ngayon, mag-navigate sa ' localhost:80 ” port at suriin kung gumagana o hindi ang HTML application:

Upang suriin ang bagong kopyang file na ' index1.html ', gamitin ang ' http://localhost/index1.html ” URL:

Ang output sa itaas ay nagpapakita na ang mga ginawang pagbabago ay matagumpay na nai-save sa ' bagong-demo-img ” Docker image at epektibo naming pinatakbo ang binagong container.

Paano Itakda ang May-akda ng isang Larawan?

Ang ' gumawa ng docker Sinusuportahan din ng command ng ” ang iba't ibang mga opsyon upang magdagdag ng karagdagang impormasyon kasama ng mga ginawang pagbabago tulad ng may-akda ng mga bagong pagbabago, commit message, at iba pa.

Upang tukuyin ang may-akda ng larawan na gumagawa ng mga bagong pagbabago, dumaan sa mga ibinigay na hakbang.

Hakbang 1: Itakda ang May-akda ng Larawan

Upang tukuyin ang may-akda ng larawan na gumagawa ng mga pagbabago, gamitin ang ' -a 'o' –may-akda 'opsyon kasama ng' gumawa ng docker ” utos:

gumawa ng docker -a rafia demo-cont new-demo-img

Hakbang 2: Siyasatin ang Larawan

Upang i-verify kung ang may-akda ng larawan ay nakatakda o hindi, siyasatin ang bagong nabuong larawan gamit ang ' sinisiyasat ng docker ” utos:

sinisiyasat ng docker ang new-demo-img

Ipinapakita ng output na epektibo naming naitakda ang may-akda ng larawan:

Paano Magtakda ng Commit Message ng Larawan?

Upang itakda ang commit message kasama ang commit na mga pagbabago, gamitin ang ' -m ” opsyon. Para sa paglalarawan, sundin ang mga tagubilin sa ibaba.

Hakbang 1: Itakda ang Commit Message of Image

Upang itakda ang mensahe kasama ng mga nakatuong pagbabago, gamitin ang ' docker commit -m <“message”> ” utos:

gumawa ng docker -a raffia -m 'Ang larawang ito ay nabuo ng lalagyan' demo-cont new-demo-img

Hakbang 2: Siyasatin ang Larawan

Upang suriin ang commit message, siyasatin ang larawan sa pamamagitan ng “ sinisiyasat ng docker ” utos:

sinisiyasat ng docker ang new-demo-img

Sa ilalim ng ' Magkomento ” key, makikita ng user ang commit message gaya ng ipinapakita sa ibaba:

Iyon ay tungkol sa pagbuo ng isang Docker na imahe mula sa isang lalagyan.

Konklusyon

Upang makabuo ng imahe ng Docker mula sa isang container, gawin muna ang mga pagbabago sa container ng Docker. Pagkatapos nito, gamitin ang ' docker commit ” utos upang bumuo ng imahe mula sa lalagyan. Ngayon, alisin ang mas lumang lalagyan at simulan ang bagong instance sa pamamagitan ng bagong nabuong larawan. Maaari ding itakda ng mga user ang pangalan ng may-akda ng larawan gamit ang “ -a ” na opsyon at i-commit ang mensahe gamit ang “ -m ” opsyon. Ang blog na ito ay naglalarawan kung paano bumuo ng mga imahe mula sa isang lalagyan ng Docker.