Panduan Pemula untuk Binaan Docker Berbilang Peringkat

Panduan Pemula Untuk Binaan Docker Berbilang Peringkat



Binaan berbilang peringkat Docker ialah proses menentukan satu siri binaan dalam fail Docker. Dengan kata lain, Dockerfile mengandungi berbilang ' DARI ” penyata dalam satu fail, dan pernyataan daripada baharu menggunakan arahan asas yang berbeza atau sebelumnya. Binaan berbilang peringkat membolehkan pembangun memecahkan proses pembangunan kepada berbilang peringkat. Selain itu, arahan asas dirujuk sebagai arahan pemasangan atau persediaan, dan arahan lain menggunakan kebergantungan arahan asas untuk berfungsi dengan betul.

Tulisan ini akan memberikan panduan kepada binaan Docker berbilang peringkat.

Panduan Pemula untuk Binaan Docker Berbilang Peringkat

Untuk mencipta imej Docker melalui Dockerfile mudah, dan binaan Dockerfile berbilang peringkat, lihat kaedah yang disenaraikan:







Bagaimana untuk Membina Imej Docker Mudah?

Untuk mencipta imej Docker mudah menggunakan Dockerfile mudah, ikuti arahan yang diberikan.



Langkah 1: Buka Terminal
Dari Windows ' Memulakan ”, buka terminal Git:







Langkah 2: Cipta Direktori Baharu
Seterusnya, buat direktori projek baharu menggunakan arahan yang diberikan:

$ mkdir Berbilang peringkat



Selepas itu, buka direktori projek dengan bantuan ' cd ” perintah:

$ cd Berbilang peringkat

Langkah 3: Cipta Fail Program
Cipta dan buka fail program baharu untuk melaksanakan “ golang ” program. Sebagai contoh, kami telah mencipta ' main.go ” fail:

$ nano main.go

Tampal kod yang disediakan dalam “ main.go ” fail. Program ini akan mencetak keluaran ringkas ' hello! Selamat datang ke Tutorial LinuxHint ” pada hos tempatan:

import (
'fmt'
'log'
'bersih/http'
)

fungsi pengendali ( w http . ResponseWriter , r * http. Permintaan ) {
fmt . Fprintf ( dalam , 'Hello! Selamat datang ke Tutorial LinuxHint' )
}
fungsi utama () {
http . HandleFunc ( '/' , pengendali )
log . Maut ( http . DengarDanServe ( '0.0.0.0:8080' , tiada ))
}

Tekan “ CTRL+O ” untuk menyimpan perubahan dan “ CTRL+X ' untuk keluar.

Langkah 4: Buat DockerFile
Buat dan buka Dockerfile baharu dalam penyunting teks Nano menggunakan “ nano Dockerfile ” perintah:

$ nano Dockerfile

Tampalkan kod berikut di dalam ' Dockerfile ” yang akan mengarahkan bekas tentang cara menggunakan projek:

DARI golang: 1.8
WORKDIR / pergi / src / aplikasi
SALIN main.go .
LARI pergi bina -O pelayan web.

CMD [ './webserver' ]

Tekan “ CTRL+O ” untuk menyimpan fail dan “ CTRL+X ” untuk keluar dari editor:

Langkah 5: Buat Imej Docker
Dengan bantuan Dockerfile, buat imej Docker baharu melalui “ binaan buruh pelabuhan ” perintah. ' -t tag ” digunakan untuk menentukan tag/nama imej:

$ binaan buruh pelabuhan -t imej-web-baru .

Langkah 6: Jalankan Imej Docker
Selepas mencipta imej Docker, gunakan arahan yang disebutkan di bawah untuk menjalankan imej Docker. ' -hlm ” pilihan digunakan untuk menentukan nombor port di mana bekas Docker akan melaksanakan program:

$ lari berlabuh -hlm 8080 : 8080 imej-web-baru

Selepas itu, navigasi ke ' http://localhost:8080 ” untuk menyemak sama ada aplikasi sedang berjalan atau tidak:

Daripada output di atas, anda dapat melihat bahawa kami telah berjaya menggunakan aplikasi pada localhost:

Langkah 7: Semak Imej Docker
Akhir sekali, laksanakan ' imej docker ” perintah untuk menyemak maklumat tambahan tentang imej Docker yang baru dibuat:

$ imej buruh pelabuhan new-web-image

Dapat diperhatikan bahawa saiz imej Docker terlalu besar untuk melaksanakan projek kecil. Dalam senario sedemikian, binaan berbilang peringkat boleh digunakan untuk mengurangkan saiz imej Docker:

Bagaimana untuk Membina Imej Docker Dari Multistage Dockerfile?

Untuk mencipta fail Docker berbilang peringkat untuk memecahkan proses pembangunan kepada berperingkat-peringkat dan untuk mengurangkan saiz imej, lihat langkah-langkah yang disediakan.

Langkah 1: Buka Dockerfile
Pertama, buka Dockerfile dalam ' Penyunting teks nano ” melalui arahan yang disebutkan:

$ nano Dockerfile

Langkah 2: Cipta Multistage Dockerfile
Tampalkan kod berikut dalam Dockerfile. Dapat diperhatikan bahawa fail Docker mengandungi lebih daripada satu ' DARI ”, yang bermaksud kami mencipta fail Docker berbilang peringkat:

DARI golang: 1.8 AS asas
WORKDIR / pergi / src / aplikasi
SALIN main.go .
LARI pergi bina -O pelayan web.

DARI alpine
WORKDIR / aplikasi
SALINAN --dari = asas / pergi / src / aplikasi / aplikasi /
CMD [ './webserver' ]

Tekan “ CTRL+O ” untuk menyimpan perubahan dan “ CTRL+X ” untuk keluar dari editor.

Langkah 3: Buat Imej Docker
Sekarang, bina imej Docker baharu dengan bantuan binaan berbilang peringkat. Untuk tujuan ini, laksanakan arahan yang diberikan:

$ binaan buruh pelabuhan -t imej-web-baru .

Sekali lagi, semak maklumat tambahan mengenai imej Docker melalui ' imej buruh pelabuhan ” perintah:

$ imej buruh pelabuhan new-web-image

Output menunjukkan bahawa kami telah berjaya mencipta fail docker dan saiz fail Docker dikurangkan kepada hanya ' 12.9MB ”:

Langkah 4: Jalankan Imej Docker
Akhir sekali, jalankan imej Docker untuk melaksanakan bekas untuk mengesahkan sama ada imej Docker berfungsi dengan betul atau tidak:

$ lari berlabuh -hlm 8080 : 8080 imej-web-baru

Buka pelayan hos tempatan dengan menavigasi ke “ http://localhost:8080 ” pada penyemak imbas:

Output menunjukkan bahawa kami telah berjaya menggunakan program melalui binaan berbilang peringkat.

Kesimpulan

Binaan berbilang peringkat Docker menentukan siri binaan menjadi berperingkat. Untuk mencipta fail Docker berbilang peringkat, nyatakan lebih daripada satu pernyataan 'DARI' dan rujuk kepada ' DARI ” kenyataan sebagai binaan asas. Selepas itu, buat imej Docker baharu menggunakan ' docker build -t . ” perintah. Jawatan itu telah menghuraikan panduan lengkap untuk binaan Docker berbilang peringkat.