Apakah Perbezaan Antara Dockerfile dan Docker Compose

Apakah Perbezaan Antara Dockerfile Dan Docker Compose



Platform Docker berfungsi dengan komponen dan alatan yang berbeza untuk membina, berkongsi dan menggunakan aplikasi dan projek. Platform Docker menyampaikan perisian dalam pakej boleh laku kecil yang dipanggil bekas. Bekas ini dibina dan diuruskan melalui arahan fail Docker dan alat karang Docker.

Tulisan ini akan menunjukkan:

Perbezaan Antara Dockerfile dan Docker Compose

Dockerfile dan Docker Compose kedua-duanya digunakan untuk menyimpan aplikasi dan projek. Perbezaan utama antara kedua-dua komponen ini ialah ' Dockerfile ” ialah fail arahan yang digunakan untuk menentukan templat bekas Docker dalam bentuk syot kilat atau imej. Walau bagaimanapun, karang Docker ialah alat yang sedang digunakan dalam Docker untuk melancarkan aplikasi perkhidmatan mikro dan berbilang bekas.







Dalam karang Docker, perkhidmatan dan aplikasi berbilang bekas dikonfigurasikan melalui ' docker-compose.yml ” dan masukkan fail Docker untuk menentukan konteks binaan untuk bekas.



Bagaimana untuk Mencipta dan Menggunakan Dockerfile?

Untuk mencipta dan menggunakan Dockerfile untuk membina syot kilat untuk bekas, mula-mula buat Dockerfile dan sertakan arahan penting seperti imej asas, fail sumber dan laluannya, boleh laku, port dan volum. Untuk pelaksanaan, lihat langkah-langkah yang disediakan.



Langkah 1: Buat Fail Program

Pertama, buat fail program bernama ' index.html ” dan tambah kod berikut ke dalam fail:





< html >

< kepala >

< gaya >

badan{

warna latar belakang: hitam;

}

h1{

Warna: aquamarine;

gaya fon: condong;

}

< / gaya >

< / kepala >

< badan >

< h1 > hello! Selamat datang ke Tutorial Linuxhint < / h1 >

< / badan >

< / html >

Langkah 2: Buat Dockerfile

Seterusnya, buat fail lain bernama ' Dockerfile ” yang akan memuatkan “ index.html ” program. Untuk tujuan ini, nyatakan arahan atau arahan berikut:

  • DARI ” mentakrifkan imej asas bekas.
  • SALINAN ” menyalin atau menambah fail sumber pada laluan bekas.
  • ENTRYPOINT ” mentakrifkan boleh laku untuk bekas:
DARI nginx:terkini

SALIN index.html / usr / kongsi / nginx / html / index.html

ENTRYPOINT [ 'nginx' , '-g' , 'daemon dimatikan;' ]

Langkah 3: Cipta Syot Kilat/Imej Bekas

Dalam langkah seterusnya, bina syot kilat atau imej bekas dengan menggunakan ' docker build -t ” perintah. Nama imej bekas ditakrifkan melalui ' -t 'pilihan:



binaan buruh pelabuhan -t html-image .

Langkah 4: Jalankan Bekas

Cipta dan mulakan bekas melalui syot kilat yang baru dibuat dengan menggunakan ' lari berlabuh ” perintah. Di sini, ' -hlm ” menentukan pelabuhan yang mendedahkan bekas:

lari berlabuh -hlm 80 : 80 html-imej

Untuk pengesahan, lihat port yang ditetapkan bagi hos tempatan dan semak sama ada bekas sedang dilaksanakan atau tidak:

Bagaimana untuk Mencipta dan Menggunakan Fail Karang?

Untuk mengkonfigurasi berbilang bekas atau perkhidmatan mikro dalam karang Docker, pertama, buat ' docker-compose.yml ” fail dan konfigurasikan arahan ke dalam fail. Untuk ilustrasi, ikut arahan yang disediakan.

Langkah 1: Cipta Fail Karang

Mula-mula, konfigurasikan aplikasi dalam bekas atau perkhidmatan mikro lain dengan menyatakan arahan penting dalam fail. Sebagai contoh, kami telah mengkonfigurasi ' index.html ” program dengan mengkonfigurasi arahan berikut:

  • perkhidmatan kunci ” menentukan perkhidmatan dalam fail karang. Sebagai contoh, kami telah mengkonfigurasi ' web ” dan “ web1 ” perkhidmatan untuk menjalankan program HTML.
  • membina kunci ” digunakan untuk menentukan konteks binaan untuk bekas. Untuk tujuan ini, arahan Dockerfile akan digunakan oleh ' web ” perkhidmatan.
  • pelabuhan kunci ” mentakrifkan pelabuhan bekas yang terdedah.
  • gambar kekunci ” digunakan untuk menentukan imej asas untuk perkhidmatan:
versi: '3'
perkhidmatan:
web:
membina: .
pelabuhan:
- 80 : 80
web1:
imej: html-image
pelabuhan:
- 80

Langkah 2: Mulakan Bekas

Nyalakan perkhidmatan dalam bekas dengan menggunakan ' docker-compose up ” perintah. ' -d 'pilihan digunakan untuk melaksanakan perkhidmatan dalam mod terpisah:

docker-compose up -d

Untuk pengesahan, lawati hos tempatan dan semak sama ada perkhidmatan sedang dilaksanakan atau tidak:

Ini semua tentang perbezaan antara Dockerfile dan Docker compose.

Kesimpulan

Dockerfile dan Docker mengarang kedua-duanya digunakan untuk mengkonfigurasi aplikasi dan perkhidmatan dalam bekas. Perbezaan utama antara kedua-dua komponen ini ialah Dockerfile hanya dirujuk sebagai arahan atau fail teks untuk membina syot kilat bekas. Sebaliknya, karang Docker ialah alat konfigurasi perkhidmatan mikro yang digunakan untuk mengkonfigurasi berbilang aplikasi dan perkhidmatan bekas dalam bekas berasingan. Tulisan ini telah menggambarkan perbezaan antara Dockerfile dan Docker compose.