Dengan pembangunan berterusan teknologi pengkomputeran awan, teknologi kontena, sebagai teknologi asas awan asli, semakin menarik perhatian dan penggunaan. Dalam teknologi kontena, bekas Docker ialah persekitaran berjalan asas untuk aplikasi dan salah satu teknologi kontena yang paling biasa digunakan. Walau bagaimanapun, terdapat pendapat dan salah faham yang berbeza tentang sama ada bekas Docker adalah "tanpa negara". Artikel ini akan membincangkan isu ini.
Teknologi kontena Docker ialah teknologi virtualisasi ringan yang bergantung pada persekitaran, fail konfigurasi dan kod aplikasi atau perkhidmatan serta data. dsb. dibungkus untuk membina imej boleh jalan, dan kemudian imej itu digunakan ke nod hos yang berbeza, akhirnya membentuk perkhidmatan kontena. Bekas Docker adalah serupa dengan mesin maya, tetapi teknologi kontena lebih ringan dan fleksibel daripada teknologi virtualisasi, mempunyai masa permulaan yang lebih pantas dan lebih mudah alih.
Dalam pengkomputeran awan, kita sering mendengar konsep "stateless". Apa yang dipanggil "tanpa kewarganegaraan" bermaksud bahawa maklumat keadaan aplikasi tidak disimpan dalam aplikasi itu sendiri, tetapi disimpan dalam peranti storan luaran (seperti pangkalan data Ini bermakna terdapat jurang antara berbilang kejadian). aplikasi boleh diganti antara satu sama lain, dengan itu mencapai ketersediaan tinggi dan pengembangan mendatar. Berkaitan dengan "tanpa negara", "berstatus" bermaksud bahawa maklumat keadaan aplikasi disimpan dalam peranti storan dalaman atau kongsi bagi tika aplikasi, supaya berbilang tika aplikasi tidak boleh digantikan antara satu sama lain, kerana maklumat statusnya adalah berbeza.
Memandangkan bekas Docker dibina berdasarkan imej, bekas Docker secara amnya dianggap sebagai "tanpa negara", iaitu kontena sendiri tidak membawa sebarang maklumat negeri. Bekas sedemikian boleh dipadamkan dan dibina semula pada bila-bila masa tanpa menjejaskan maklumat keadaan aplikasi. Walaupun bekas Docker itu sendiri adalah tanpa kewarganegaraan, kami tidak boleh menganggap bahawa aplikasi dalam bekas Docker juga tidak bernegara.
Dalam aplikasi sebenar, aplikasi dalam bekas Docker mungkin perlu membaca dan menulis beberapa maklumat status, seperti fail pangkalan data, dll. Data ini tidak boleh bergerak bersama bekas, yang bermaksud bahawa data ini mesti Disimpan dalam beberapa bentuk pada mesin hos. Ini juga mewujudkan hubungan gandingan yang kukuh antara bekas dan hos, menjadikan bekas Docker sebenarnya "berstatus".
Untuk masalah "stateful" bekas Docker, terdapat dua penyelesaian berikut:
(1) Teknologi volum data: Volume data merujuk kepada direktori atau fail tertentu, yang boleh dipasang daripada mesin hos ke bekas Docker, dan boleh merealisasikan perkongsian data antara mesin hos dan bekas Docker. Dengan cara ini, kita boleh melekapkan maklumat keadaan yang aplikasi bergantung pada volum data untuk menyelesaikan masalah "stateful" bekas Docker.
(2) Teknologi orkestrasi perkhidmatan: Teknologi orkestrasi perkhidmatan merujuk kepada mengurus berbilang kejadian aplikasi melalui beberapa alat orkestrasi (seperti Kubernetes), dan melaksanakan fungsi seperti pengimbangan beban dan failover antara kejadian ini. Melalui teknologi orkestrasi perkhidmatan, kami boleh menggunakan berbilang contoh aplikasi secara automatik untuk mencapai ketersediaan tinggi dan kebolehskalaan mendatar.
Kontena Docker itu sendiri tidak mempunyai kewarganegaraan, tetapi dalam aplikasi sebenar, kita perlu menyimpan maklumat status aplikasi pada mesin hos, yang memerlukan data Gunakan teknologi volum atau teknologi orkestrasi perkhidmatan untuk menyelesaikan masalah "stateful" kontena. Oleh itu, kita tidak boleh hanya mengklasifikasikan bekas Docker sebagai "tanpa negara" atau "berstatus", tetapi perlu membuat pertimbangan berdasarkan senario aplikasi tertentu. Pada masa yang sama, apabila menggunakan bekas Docker, anda juga perlu mempertimbangkan hubungan gandingan antara bekas dan hos untuk memastikan kecekapan operasi dan kebolehpercayaan aplikasi.
Atas ialah kandungan terperinci Adakah bekas buruh pelabuhan tanpa negara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!