Rumah >hujung hadapan web >tutorial js >Docker dalam pembangunan: Episod 1

Docker dalam pembangunan: Episod 1

Susan Sarandon
Susan Sarandonasal
2025-01-10 11:23:43812semak imbas

Docker in development: Episode 1

``Dalam siri ini, kami akan meneroka motivasi dan faedah menggunakan docker dalam pembangunan. Kami akan memberikan petua setiap hari yang membantu kami bergerak ke hadapan menggunakannya, memfokuskan pada pembangunan Ruby on Rails dan React.

Siri ini tidak akan menerangkan konsep teras Docker. Jika anda belum mengenali mereka, saya amat mengesyorkan anda membaca dokumentasi rasmi Docker dan kemudian kembali.

Motivasi
Ini adalah pengalaman peribadi (dan pasukan!). Anda mungkin mendapati diri anda berada dalam situasi yang sama, dan ini mungkin membantu anda bergerak ke hadapan dan mengambil langkah pertama.

Sehingga beberapa bulan yang lalu, persediaan standard saya untuk membangunkan Ruby on Rails, apl Ruby minimalis dan apl React adalah mudah sahaja.

Untuk Ruby/Ruby on Rails, saya baru sahaja memasang chruby, ruby-install (dan versi Ruby yang saya perlukan, katakan 2.3, 2.5, dan juga 2.6!), mengklonkan projek, memasang permata menggunakan bundler, Postgres (kerana kami kebanyakannya menggunakan Postgres), dan saya sudah bersedia untuk pergi. Sudah tentu, jika saya memerlukan Redis atau pangkalan data lain, saya perlu memasangnya.

Begitu juga, untuk projek React, saya baru sahaja memasang nod dan memasang kebergantungan. Proses memasang penterjemah, kebergantungan dan sebagainya, dengan bantuan homebrew (atau apt-get jika anda menggunakan Linux) adalah mudah tetapi mengambil sedikit masa.

Sebulan yang lalu, saya mempunyai tugas untuk diselesaikan: membaiki pepijat kecil dalam apl Rails 3, selain Ruby 1.9.3! Itu sedikit lebih sukar daripada dengan versi baharu Ruby. Bukan untuk penterjemah itu sendiri, tetapi kebergantungan projek. Apabila masa berlalu, kebergantungan yang lebih lama mungkin lebih sukar untuk dipasang kerana kebergantungan mereka. Anda mungkin mempunyai versi kebergantungan kebergantungan anda yang lebih baharu dalam komputer anda dan pemasangan barangan lama mungkin memerlukan masa.

Setelah memikirkannya sebentar, saya memutuskan untuk melabuhkan apl itu. Sejujurnya, saya tidak tahu sama ada ia mengambil masa yang lebih lama daripada berjuang dengan versi penterjemah/pergantungan, tetapi hasilnya membuahkan hasil. Bukan sahaja pepijat telah dibetulkan dengan mudah, tetapi sejak itu saya telah memutuskan untuk menyekat setiap aplikasi yang saya kerjakan (malah beberapa aplikasi yang mungkin anda gunakan setiap hari seperti yang akan kita lihat nanti), dan pada masa ini saya menggunakan docker untuk pembangunan tempatan secara eksklusif. Persediaan asli tidak diperlukan lagi.

Faedah
Beberapa faedah adalah jelas (terutamanya jika anda sudah pun meminati pekerja pelabuhan), tetapi kami akan meneruskannya supaya kami mendedahkan kes yang lebih kukuh.

Keseluruhan projek anda menerangkan cara penyediaan dari sudut pandangan sistem: pangkalan data, perkhidmatan, dll.
Pembangun baharu boleh menyertai projek dengan mudah dan dengan menjalankan hanya arahan, mereka akan bersedia untuk digunakan.
Apl anda tidak akan berubah apabila env setempat anda berubah. Biasanya, untuk, katakan, pengikat, itu tidak akan menjadi masalah, tetapi anda mungkin akhirnya menggunakan binari atau perpustakaan lain dalam sistem anda yang mungkin berubah dari semasa ke semasa.
Soalan
Ini ialah soalan yang saya ajukan kepada diri sendiri (dan anda mungkin juga mempunyai soalan itu):

Bukankah saya mempunyai banyak ruang cakera yang diduduki oleh imej docker?
Ya, anda akan mempunyai. Tetapi jika anda mahu, anda boleh mengalih keluarnya dan menciptanya semula apabila anda memerlukannya. Ia bukan masalah besar. Jika anda tidak mahu membina setiap kali, anda boleh menolak imej anda ke repositori (hab buruh pelabuhan ialah contohnya).

Bagaimana dengan persembahan? Adakah ia menggunakan banyak sumber?
Jawapan ringkas: tidak. Ia adalah proses biasa, dan mereka menggunakan sumber yang sama yang mereka gunakan jika anda memasang semua keperluan secara asli. Anda boleh mencari sendiri dengan menjalankan statistik buruh pelabuhan!

Adakah anda mempunyai soalan lain? Hubungi!

Kesimpulan
Bakinya, bagi saya, adalah positif. Sejak saya menggunakan docker, perkara menjadi sama dari segi masa pembangunan, bangun dan berjalan, dsb. Selain itu, faedah yang telah kami nyatakan.

Sertai kami dalam episod seterusnya!

Atas ialah kandungan terperinci Docker dalam pembangunan: Episod 1. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn