Memahami Dockerfile
Pelajari sintaks dan arahan umum dalam Dockerfile untuk mentakrifkan cara imej dibina.
Memahami Dockerfile ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Apakah Dockerfile?
Bayangkan anda mempunyai resipi untuk membakar kek. Dockerfile sangat serupa! Ia ialah fail teks biasa yang mengandungi semua arahan yang diperlukan Docker untuk membina imej Docker secara automatik.
Daripada mencampurkan bahan, anda memberitahu Docker sistem pengendalian asas yang perlu digunakan, perisian yang perlu dipasang dan cara menyediakan aplikasi anda di dalam imej.

Manfaat: Automasi Binaan
Dockerfile membawa banyak kelebihan kepada aliran kerja pembangunan anda:
- Automasi: Tiada lagi langkah manual! Docker membina imej secara konsisten setiap kali.
- Kawalan Versi: Dockerfile ialah kod, jadi anda boleh menjejaki perubahan menggunakan Git.
- Kebolehulangan: Sesiapa sahaja yang mempunyai Dockerfile boleh membina imej yang sama tepat.
- Ketelusan: Anda boleh melihat dengan tepat kandungan sesuatu imej.
Struktur Asas Dockerfile
Dockerfile ialah senarai arahan yang dilaksanakan mengikut tertib dari atas ke bawah. Setiap arahan mencipta lapisan baharu dalam imej.
Sintaks asasnya mudah:
INSTRUCTION argumentsKomen bermula dengan #, sama seperti dalam banyak bahasa pengaturcaraan. Arahan Docker tidak peka huruf besar kecil, tetapi kebiasaannya ditulis dalam huruf besar.
Memilih Imej Asas dengan FROM
Setiap Dockerfile mesti bermula dengan arahan FROM. Arahan ini menentukan imej asas yang akan menjadi asas pembinaan imej baharu anda. Imej asas ini biasanya mengandungi sistem pengendalian seperti Alpine Linux dan kadangkala perisian yang telah dipasang.
Anggaplah ia sebagai pemilihan titik permulaan — kanvas kosong atau kanvas yang sudah mempunyai beberapa warna asas.
FROM alpine:latestMelaksanakan Arahan dengan RUN
Arahan RUN digunakan untuk melaksanakan arahan semasa proses pembinaan imej. Di sinilah anda memasang pakej, mencipta direktori atau menyusun kod.
Setiap arahan RUN mencipta lapisan baharu, jadi menggabungkan arahan dengan && dapat membantu mengurangkan saiz imej.
RUN apk update && apk add gitArahan Lalai dengan CMD
Arahan CMD menyediakan arahan atau argumen lalai untuk kontena yang sedang dilaksanakan. Tidak seperti RUN, arahan CMD dilaksanakan apabila kontena bermula, bukannya semasa pembinaan.
Jika anda menentukan arahan ketika menjalankan kontena, contohnya docker run my-image ls, arahan itu akan menggantikan arahan CMD.
CMD ["echo", "Hello from container!"]Menambah Fail dengan COPY
Arahan COPY menyalin fail atau direktori baharu daripada mesin hos anda, iaitu tempat anda membina imej, ke dalam sistem fail imej Docker pada laluan yang ditentukan.
Arahan ini biasanya lebih digemari berbanding ADD kerana lebih telus dan hanya menyalin fail setempat.
COPY ./app /usr/src/appDirektori Kerja & Pemboleh Ubah Persekitaran
WORKDIR menetapkan direktori kerja untuk sebarang arahan RUN, CMD, ENTRYPOINT, COPY dan ADD yang mengikutinya. Ini menjadikan Dockerfile anda lebih kemas.
ENV menetapkan pemboleh ubah persekitaran. Pemboleh ubah ini tersedia untuk arahan seterusnya dalam Dockerfile dan juga untuk kontena yang sedang berjalan.
WORKDIR /app
ENV PORT=8080Memaklumkan tentang Port dengan EXPOSE
Arahan EXPOSE memaklumkan Docker bahawa kontena mendengar pada port rangkaian yang ditentukan semasa masa jalan. Arahan ini sebenarnya tidak menerbitkan port tersebut.
Anggaplah ia sebagai dokumentasi. Untuk menjadikan port boleh dicapai dari luar kontena, anda perlu menggunakan bendera -p dengan docker run.
EXPOSE 80
EXPOSE 443Dockerfile Ringkas Pertama Anda
Mari gabungkan semuanya! Berikut ialah Dockerfile asas yang menyediakan imej Alpine Linux, memasang pakej dan menentukan arahan lalai.
Untuk membinanya, simpan fail tersebut sebagai Dockerfile dalam direktori kosong, kemudian jalankan docker build -t my-simple-app . dalam terminal anda.
FROM alpine:latest
LABEL maintainer="CoddyKit"
RUN apk update && apk add --no-cache bash
WORKDIR /app
CMD ["bash", "-c", "echo 'Hello from my custom Alpine image!' && sleep 3600"]Kuiz Arahan Dockerfile
Uji pengetahuan anda! Antara arahan berikut, yang manakah dilaksanakan semasa proses pembinaan imej dan mengubah kandungan atau struktur imej secara langsung?
Imbas Kembali: Asas Dockerfile
Anda telah mengambil langkah besar dalam memahami imej Docker! Kita telah mempelajari bahawa Dockerfile ialah fail teks yang mengandungi arahan untuk membina imej, serta menawarkan manfaat besar seperti automasi dan kebolehulangan.
Arahan utama yang telah dibincangkan:
FROM: Menentukan imej asas.RUN: Melaksanakan arahan semasa pembinaan.CMD: Menetapkan arahan lalai untuk kontena yang sedang berjalan.COPY: Menambah fail daripada hos ke dalam imej.WORKDIR,ENV,EXPOSE: Mengkonfigurasi persekitaran imej dan kontena.
Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 142
- Pelajaran
- 568
Soalan Lazim
Adakah pelajaran “Memahami Dockerfile” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Memahami Dockerfile”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Memahami Dockerfile”?
Pelajari sintaks dan arahan umum dalam Dockerfile untuk mentakrifkan cara imej dibina. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Memahami Dockerfile” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?
Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Memahami Dockerfile
- Mencipta Imej Docker Tersuai
- Lapisan Imej dan Pengoptimuman
- Binaan Berbilang Peringkat dan Imej Lebih Kecil