Docker

Bagaimana Dockerfile Berfungsi?

Bagaimana Dockerfile Berfungsi?
Anda hanya boleh menggunakan satu kontena dengan bantuan gambar pelabuhan. Walau bagaimanapun, jika anda perlu menggunakan beberapa kontena (masing-masing untuk tugas yang berbeza) dari gambar yang sama maka apa yang berlaku? Anda boleh menyelesaikannya dengan bantuan file dockerfile.

Dockerfile adalah fail teks sederhana yang berisi semua perintah yang dapat dipanggil oleh pengguna pada baris perintah untuk memasang atau membangun gambar. Dengan bantuan docker build, anda dapat mengautomasikan build dengan mudah yang menjalankan banyak perintah yang ditentukan dalam file docker berturut-turut.

Sebagai contoh, anda ingin memuat turun gambar pelabuhan dari hab pelabuhan untuk keperluan pembangunan khusus anda. Kemudian, anda ingin mengemas kini gambar, memasang beberapa pakej untuk proses pembangunan anda. Dalam kes ini, anda boleh membuat file docker, memasukkan semua parameter untuk keperluan khusus anda, dan membina gambar tersuai anda. Setelah membuat file docker, anda dapat menggunakannya berulang kali untuk membina gambar yang sama tanpa memasang secara manual semua pakej yang diperlukan untuk proses pembangunan anda.

Asas Dockerfile

Sebelum bekerja dengan dockerfile jika penting untuk mengetahui cara membuat file dockerfile. Dockerfile merangkumi kata kunci tertentu yang dapat digunakan untuk membina gambar tertentu. Penjelasan ringkas mengenai semua kata kunci yang digunakan dalam file docker disenaraikan di bawah:

Membuat Dockerfile

Di bahagian ini, kami akan membuat file docker untuk membina imej pelayan LAMP dari gambar asas Ubuntu.

Pertama, anda perlu membuat direktori untuk menyimpan file dockerfile. Anda boleh membuatnya dengan arahan berikut:

LAMPU mkdir

Seterusnya, buat direktori bernama Dockerfile di dalam direktori:

nano LAMP / Dockerfile

Tambahkan baris berikut:

DARI ubuntu: terkini
MAINTAINER Hitesh Jethva
ENV DEBIAN_FRONTEND = tidak interaktif
Jalankan apt-get kemas kini -y && apt-get install apache2 mariadb-server
libapache2-mod-php php php-cli php-common php-mysql php-json php-curl -y
CMD ["apachectl", "- D", "LATAR BELAKANG"]
PENDEDAHAN 8080

Simpan dan tutup fail apabila anda selesai.

Membina Imej dengan Dockerfile

Setelah membuat Dockerfile, anda boleh dengan mudah membuat gambar LAMP khas dengan bantuan Dockerfile.

Pertama, ubah direktori ke LAMP dan jalankan arahan berikut untuk membina gambar dari fail itu:

cd LAMPU
docker build -t "lampu: Dockerfile".

Perintah di atas akan mula memuat turun gambar terbaru Ubuntu dari Docker Hub dan memasang pakej yang diperlukan yang dinyatakan dalam Dockerfile. Setelah gambar berjaya dibina, anda akan melihat output berikut:

Menghantar konteks binaan ke Docker daemon 2.048kB
Langkah 1/6: DARI ubuntu: terkini
terkini: Menarik dari perpustakaan / ubuntu
54ee1f796a1e: Tarik selesai
f7bfea53ad12: Tarik lengkap
46d371e02073: Tarik selesai
b66c17bbf772: Tarik selesai
Pencernaan: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Status: Muat turun gambar baru untuk ubuntu: terkini
---> 4e2eef94cd6b
Langkah 2/6: MAINTAINER Hitesh Jethva
---> Berlari di 047977af2c2a
Mengeluarkan bekas perantaraan 047977af2c2a
---> 1331df625c4c
Langkah 3/6: ENV DEBIAN_FRONTEND = tidak interaktif
---> Berlari di 3597152c7a1b
Mengeluarkan bekas perantaraan 3597152c7a1b
---> 86c82c95e75d
Langkah 4/6: Jalankan apt-get kemas kini -y && apt-get pasang apache2 mariadb-server
libapache2-mod-php php php-cli php-common php-mysql php-json php-curl -y
Mengeluarkan bekas perantaraan 322532299fd9
---> f6897a9554f7
Langkah 5/6: CMD ["apachectl", "- D", "FOREGROUND"]
---> Berlari pada tahun 669635bc8bcb
Mengeluarkan bekas perantaraan 669635bc8bcb
---> e8400eb2e677
Langkah 6/6: KECUALI 8080
---> Berlari di 937ae2b2d305
Mengeluarkan bekas perantaraan 937ae2b2d305
---> 2123a857361d
Berjaya dibina 2123a857361d
Lampu ditandai dengan berjaya: Dockerfile

Anda kini boleh menyenaraikan gambar yang baru dibina dengan menjalankan perintah berikut:

gambar dok

Anda harus melihat output berikut:

ID GAMBAR TAG REPOSITORI SAIZ YANG DIBUAT
lampu Dockerfile 2123a857361d 44 saat yang lalu 520MB
ubuntu terkini 4e2eef94cd6b 8 hari yang lalu 73.9MB

Sekarang, anda mempunyai gambar pelayan LAMP tersuai di tangan anda. Anda juga dapat melihat sejarah setiap arahan dengan arahan berikut:

lampu sejarah docker: Dockerfile

Anda harus melihat output berikut:

GAMBAR DIPERBUAT DENGAN KOMEN SAIZ
2123a857361d 16 minit yang lalu / bin / sh -c # (nop) EXPOSE 8080 0B
e8400eb2e677 16 minit yang lalu / bin / sh -c # (nop) CMD ["apachectl" "-D" "FO… 0B
f6897a9554f7 16 minit yang lalu / bin / sh -c apt-get update -y && apt-get inst… 446MB
86c82c95e75d 17 minit yang lalu / bin / sh -c # (nop) ENV DEBIAN_FRONTEND = nonin… 0B
1331df625c4c 17 minit yang lalu / bin / sh -c # (nop) MAINTAINER Hitesh Jethva 0B
4e2eef94cd6b 8 hari yang lalu / bin / sh -c # (nop) CMD ["/ bin / bash"] 0B

Membuat Container dari LAMP Image

Sekarang, anda boleh menjalankan wadah dari gambar anda menggunakan arahan berikut:

lampu lari -dit dok: Dockerfile

Setelah bekas dimulakan, anda akan melihat output berikut:

0d2beb7dba01bb763768b116f734ae68286cee00d2ae923b2b7241c39ad54208

Anda boleh mengesahkan bekas yang sedang berjalan menggunakan arahan berikut:

dok dok

Anda harus mendapat output berikut:

ID GAMBAR KANDUNGAN KOMAND NAMA PORTS STATUS YANG DIBUAT
lampu c14794784eb2: Dockerfile "apachectl -D FOREGR…" 2 minit yang lalu Naik 2 minit 0.0.0.0: 8080-> 8080 / tcp unik_ramanujan

Kesimpulannya

Dalam panduan ini, anda telah mengetahui apa itu Dockerfile dan bagaimana membina imej pelabuhan dengan Dockerfile. Ini sangat berguna untuk membuat gambar tersuai anda dan bukannya melakukan perubahan pada gambar yang ditarik.

Kajian Tetikus Tanpa Wayar Microsoft Sculpt Touch
Saya baru-baru ini membaca mengenai Sentuhan Microsoft Sculpt tetikus tanpa wayar dan memutuskan untuk membelinya. Setelah menggunakannya sebentar, sa...
Trackpad dan Mouse Pointer pada skrin Windows AppyMouse untuk Tablet Windows
Pengguna tablet sering kehilangan penunjuk tetikus, terutama ketika mereka biasa menggunakan komputer riba. Telefon pintar dan tablet skrin sentuh dil...
Butang tetikus tengah tidak berfungsi pada Windows 10
The butang tetikus tengah membantu anda menelusuri halaman web dan skrin yang panjang dengan banyak data. Sekiranya ia berhenti, anda akan menggunakan...