Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 9930|Jawab: 2

Perbedaan antara dockerfile dan docker-compose

[Salin tautan]
Diposting pada 15/11/2019 09.33.13 | | |
Perbedaan antara dockerfile dan docker-compose
Mari kita pahami secara singkat proses penggunaan docker, yang dibagi menjadi pembuatan gambar dan startup kontainer.

Konstruksi gambar: yaitu, buat gambar yang berisi lingkungan, kode program, dll. yang diperlukan untuk instalasi dan pengoperasian. Proses pembuatan ini dilakukan menggunakan dockerfile.

Startup Kontainer: Kontainer akhirnya dijalankan dengan menarik gambar yang dibuat dan memulai layanan melalui serangkaian instruksi yang berjalan (seperti pemetaan port, pemasangan data eksternal, variabel lingkungan, dll.). Untuk satu kontainer, ini dapat dijalankan melalui docker run.

Jika melibatkan menjalankan beberapa kontainer (seperti orkestrasi layanan), itu dapat diimplementasikan melalui docker-compose, yang dapat dengan mudah menjalankan beberapa kontainer sebagai layanan (tentu saja, hanya satu) dan menyediakan fungsi skala (penskalaan layanan).

Ringkasan singkat:

1.dockerfile: membangun gambar;

2. Docker Run: Mulai kontainer;

3. docker-compose: Mulai layanan;

Mulailah dari awal.
Jika Anda tidak menggunakan buruh pelabuhan, bagaimana Anda membangun wordpress? Temukan server terlebih dahulu, asumsikan OS-nya adalah Ubuntu, lalu ikuti dokumentasi langkah demi langkah untuk mengetikkan perintah dan menulis konfigurasinya, bukan?
Bagaimana dengan menggunakan docker? Temukan saja server, apa pun sistem operasinya, selama mendukung buruh pelabuhan, buruh pelabuhan menjalankan ubuntu, buruh pelabuhan akan menarik gambar Ubuntu terbaru dari sumber resmi, Anda dapat memikirkannya saat Anda membuka mesin virtual Ubuntu, dan kemudian menginstalnya selangkah demi selangkah, seperti di atas.

Namun, instalasi ini memiliki kelemahan yang signifikan: setelah kontainer dihapus, Anda tidak memiliki pekerjaan apa pun yang dilakukan. Tentu saja, Anda dapat menggunakan docker commit untuk menyimpannya sebagai gambar, sehingga dapat digunakan kembali.

Tetapi gambarnya umumnya besar, dan jika Anda hanya membagikan gambar, orang lain tidak akan tahu apa yang terkandung dalam gambar Anda, yang tidak kondusif untuk dibagikan dan digunakan kembali.
Solusi intuitif adalah menulis skrip untuk merekam seluruh proses instalasi, sehingga ketika Anda menginstalnya lagi, Anda dapat menjalankan skrip. Dockerfile adalah salah satu skrip yang mendokumentasikan proses pembuatan gambar.
Dengan Dockerfile, cukup jalankan docker build . Anda dapat membuat gambar, dan Dockerfile adalah file teks, yang sangat mudah dimodifikasi.

Sekarang setelah Anda memiliki gambar WordPress, Anda hanya perlu berlari buruh pelabuhan untuk mengaktifkan dan menjalankan WordPress.

Jika hanya WordPress, itu sudah cukup. Namun sering kali, beberapa gambar diperlukan untuk memulai layanan, seperti nginx, mysql, mail service, dll.
Lebih umum, nginx, mysql, dan smtp semuanya adalah gambar, dan kemudian gambar-gambar ini bekerja sama untuk melayani proyek.
Docker-Compose adalah solusi untuk masalah ini. Informasi tentang gambar mana yang dibutuhkan proyek Anda, cara mengonfigurasi setiap gambar, volume mana yang akan dipasang, dan sebagainya disertakan dalam docker-compose.yml.
Untuk memulai layanan, Anda hanya perlu docker-compose up, dan Anda hanya perlu docker-compse stop/down untuk menghentikannya

Singkatnya, Dockerfile merekam proses konstruksi satu gambar, docker-compse.yml mencatat proses konstruksi proyek (biasanya beberapa gambar).

Anda mengatakan bahwa beberapa tutorial menggunakan dockerfile+docker-compose karena docker-compose.yml sendiri tidak memiliki informasi tentang build image, dan jika gambar ditarik dari registri docker, maka dockerfile tidak diperlukan; Jika gambar perlu dibangun, maka Dockerfile perlu disediakan.

buruh pelabuhanIni adalah wadah orkestrasi. Misalnya, Anda memiliki gambar php, gambar mysql, dan gambar nginx. Jika tidak ada docker-compose, maka setiap kali Anda memulai, Anda perlu mengetikkan parameter startup dari setiap kontainer, variabel lingkungan, nama kontainer, menentukan parameter tautan dari kontainer yang berbeda, dan serangkaian operasi, yang cukup rumit. Setelah menggunakan docker-composer, Anda dapat menulis perintah ini dalam file docker-composer.yml sekaligus, dan setiap kali Anda memulai seluruh lingkungan (termasuk 3 kontainer), Anda hanya perlu mengetikkan perintah docker-composer up.

file buruh pelabuhanPerannya adalah membangun citra cermin dari awal. Ini berisi lingkungan, kode program, dll. yang diperlukan untuk instalasi dan pengoperasian. Proses pembuatan ini dilakukan menggunakan dockerfile. Dockerfile - Disiapkan untuk perintah docker build untuk membuat gambar mandiri, yang juga dapat digunakan dalam docker-compose untuk live build
docker-compose.yml - Skrip untuk docker-compose yang dapat mengelola beberapa kontainer secara bersamaan, termasuk hubungan di antara mereka, apakah akan membangun dengan gambar resmi atau diri Anda sendiri, berbagai definisi port jaringan, definisi ruang penyimpanan, dll




Mantan:Gagal mendaftarkan URL "http://xx/" untuk situs "NAMA SITUS"...
Depan:Docker menyimpan lokasi gambar di bawah sistem Windows
 Tuan tanah| Diposting pada 18/12/2022 14.56.50 |
centos instalasi Docker Compose tutorial
https://www.itsvse.com/thread-5164-1-1.html
 Tuan tanah| Diposting pada 05/03/2025 10.37.33 |
BuildKit adalah backend yang ditingkatkan yang menggantikan pembuat lama. Dimulai dengan versi 23.0, BuildKit adalah pembuat default untuk pengguna di Docker Desktop dan Docker Engine.

Login hyperlink terlihat.
Login hyperlink terlihat.
Login hyperlink terlihat.

Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com