Dengan perkembangan teknologi kontena, Docker secara beransur-ansur menjadi salah satu platform kontena paling popular. Sebagai teknologi virtualisasi yang ringan, Docker boleh merealisasikan menjalankan aplikasi merentas platform dengan membina dan menggunakan bekas. Untuk menggunakan Docker untuk menyimpan aplikasi, anda perlu membuat imej Docker anda sendiri terlebih dahulu.
Artikel ini akan memperkenalkan langkah asas untuk membuat imej Docker, termasuk menulis fail Docker, membina imej Docker, memuat naik imej Docker, dsb. Pada masa yang sama, teknik pengeluaran imej Docker biasa dan langkah berjaga-jaga juga akan diperkenalkan untuk membantu pembaca mencipta imej Docker mereka sendiri dengan lebih baik.
Fail Docker ialah fail teks yang mentakrifkan proses pembinaan imej Docker. Apabila mencipta imej Docker, Docker akan membinanya secara automatik mengikut arahan dalam fail Dockerfile. Oleh itu, menulis Dockerfile adalah langkah pertama dalam membuat imej Docker.
Fail Docker terutamanya termasuk bahagian berikut:
1) DARI: Mentakrifkan imej asas Secara umumnya, imej asas ialah versi Linux yang dioptimumkan secara rasmi.
2) PENYELENGGARA: Tentukan maklumat pengarang.
3) RUN: Jalankan arahan, yang boleh digunakan untuk memasang pakej perisian, mengkonfigurasi pembolehubah persekitaran, dsb.
4) SALIN/TAMBAH: Salin fail atau direktori ke bekas.
5) WORKDIR: Tentukan direktori kerja.
6) DEDAH: Tentukan nombor port yang disediakan oleh bekas.
7) CMD: Tentukan arahan untuk dijalankan selepas bekas dimulakan.
Sebagai contoh, berikut ialah contoh Dockerfile mudah:
FROM ubuntu:18.04 MAINTAINER John Doe <example@example.com> RUN apt-get update \ && apt-get install -y nginx \ && rm -rf /var/lib/apt/lists/* COPY index.html /var/www/html/ EXPOSE 80 CMD [“nginx”, “-g”, “daemon off;”]
Fail Dockerfile di atas mentakrifkan membina imej Docker bermula daripada imej asas Ubuntu 18.04, memasang dan mengkonfigurasi pelayan Nginx, dan pengindeksan Salin fail .html ke direktori akar tapak web lalai Nginx.
Membina imej Docker ialah langkah seterusnya dalam membuat imej Docker. Sebelum membina imej Docker, anda perlu membuka terminal dalam direktori tempat Fail Docker terletak dan jalankan arahan binaan docker. Apabila membina imej Docker, anda boleh menggunakan arahan bina -docker untuk menentukan laluan Dockerfile dan nama imej, contohnya:
docker build -t example:1.0 .
Arahan di atas akan mencari fail Dockerfile dalam direktori semasa dan gunakan contoh:1.0 sebagai nama imej.
Apabila membina imej Docker, Docker akan melaksanakan semua arahan dalam fail Dockerfile dan membina imej Docker yang lengkap berdasarkan arahan ini. Proses membina imej Docker mungkin mengambil sedikit masa, bergantung pada sistem pengendalian dan saiz imej Docker.
Langkah pertama dalam membina pustaka imej peribadi anda sendiri ialah memasang Pendaftaran Docker. Terdapat dua pelaksanaan sumber terbuka Registry - Docker Registry dan Harbor.
Ciri-ciri Docker Registry adalah seperti berikut:
Ciri-ciri Harbour adalah seperti berikut:
Mengambil contoh Docker Registry, kaedah memuat naik imej Docker adalah seperti berikut:
1) Buat gudang cermin di Docker Hub:
Pertama , anda perlu memuat naik imej Docker pada Docker Hub Buat gudang cermin dihidupkan. Log masuk ke Docker Hub dan klik Cipta Repositori untuk mencipta repositori imej baharu. Anda perlu memasukkan nama dan perihalan gudang, pilih gudang awam atau persendirian, dan sahkan untuk menciptanya.
2) Pelabelan:
Anda boleh melabelkan imej Docker tempatan dengan nama label yang sepadan dengan gudang. Gunakan arahan tag docker untuk menandai, contohnya:
docker tag example:1.0 johndoe/example:1.0
Arahan di atas akan menandakan imej contoh tempatan:1.0 dengan teg johndoe/example:1.0.
3) Log masuk ke Docker Hub:
Gunakan arahan log masuk docker untuk log masuk ke Docker Hub, contohnya:
docker login -u johndoe -p password
Di mana -u digunakan untuk nyatakan nama pengguna, - p digunakan untuk menentukan kata laluan.
4) Muat naik imej Docker:
Gunakan arahan push docker untuk memuat naik imej Docker, contohnya:
docker push johndoe/example:1.0
Arahan di atas akan memuat naik johndoe setempat /example:1.0 imej Pergi ke repositori Docker Hub.
1) Semasa menulis Fail Docker, cuba ikuti amalan terbaik rasmi Docker dan syor keselamatan, perhatikan saiz imej dan elakkan terlalu besar.
2) Gunakan binaan berbilang peringkat untuk mengurangkan saiz imej. Docker menyokong binaan berbilang peringkat, iaitu, mentakrifkan berbilang arahan FROM dalam Dockerfile. Gunakan binaan berbilang peringkat untuk mengelakkan daripada memasukkan sumber yang tidak diperlukan dalam imej akhir.
3) Gunakan versi .alpine imej asas untuk mengurangkan saiz imej. Imej asas versi .alpine ialah versi diperkemas yang disediakan secara rasmi oleh Docker Berbanding dengan versi Linux yang lain, saiznya lebih kecil dan mempunyai prestasi yang lebih baik.
4) Gunakan Docker Compose untuk penempatan bagi memudahkan proses penempatan. Docker Compose ialah komponen Docker yang boleh digunakan untuk menentukan dan menggunakan aplikasi Docker berbilang bekas. Menggunakan Docker Compose, anda boleh menentukan hubungan antara berbilang bekas, tetapkan pembolehubah persekitaran, tetapkan nombor port bekas, dsb.
5) Beri perhatian kepada keselamatan imej Docker dan elakkan daripada mengandungi maklumat sensitif dalam imej. Untuk mengelakkan imej Docker yang mengandungi maklumat sensitif, seperti kata laluan dan kunci peribadi, anda boleh menggunakan Rahsia Docker, Docker Config dan fungsi lain semasa membina imej Docker.
Ringkasan
Artikel ini memperkenalkan langkah dan teknik asas untuk membuat imej Docker. Untuk membuat imej Docker, anda perlu menulis fail Dockerfile terlebih dahulu untuk menentukan konfigurasi dan persekitaran yang berkaitan dengan kontena kemudian, gunakan arahan binaan docker untuk membina imej Docker akhirnya, gunakan arahan push docker untuk memuat naik imej Docker; Hab Docker. Apabila membuat imej Docker, anda perlu memberi perhatian kepada isu seperti saiz imej, keselamatan dan kebolehselenggaraan.
Atas ialah kandungan terperinci Bagaimana untuk membuat imej docker anda sendiri. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!