Docker ialah teknologi virtualisasi yang boleh digunakan untuk menggunakan dan mengurus aplikasi dengan cepat dan cekap. Konsep terasnya ialah untuk membungkus aplikasi dan perpustakaan bergantungnya, rangka kerja, dsb. ke dalam bekas mudah alih, mengelakkan kebergantungan antara aplikasi dan sistem dan memastikan aplikasi boleh dijalankan dalam mana-mana persekitaran.
Docker boleh mencapai pengasingan dalam tiga cara utama:
Docker menggunakan teknologi ruang nama yang disediakan oleh Linux untuk memastikan pengasingan antara bekas. Dengan menggunakan ruang nama yang berbeza, Docker boleh mengasingkan sumber seperti proses, sistem fail, rangkaian dan port yang berbeza.
Sebagai contoh, setiap bekas mempunyai sistem failnya sendiri, dan setiap bekas hanya boleh melihat sistem fail mereka sendiri dan tidak boleh mengakses sistem fail bekas lain. Ini memastikan bahawa setiap aplikasi dan data kontena diasingkan dan tidak mengganggu antara satu sama lain.
Docker juga menggunakan teknologi kumpulan kawalan (cgroup) Linux untuk mengurus penggunaan sumber bekas. Dengan menggunakan cgroups, Docker boleh mengawal CPU, memori, cakera dan sumber lain yang digunakan oleh bekas dan mengehadkan penggunaannya. Ini memastikan bahawa sumber antara bekas tidak bercanggah antara satu sama lain dan menghalang keseluruhan sistem daripada ranap disebabkan oleh kontena mengambil terlalu banyak sumber.
Sebagai contoh, dengan mengehadkan masa CPU dan saiz memori yang digunakan oleh bekas, anda boleh menghalang bekas daripada mengambil terlalu banyak CPU dan memori dan menyebabkan aplikasi dalam bekas lain bertindak balas dengan perlahan atau ranap.
Docker juga menyediakan sistem fail bebas untuk setiap bekas dan menggunakan teknologi Union File System (UnionFS) untuk menggabungkan sistem fail sistem hos dan sistem fail kontena digabungkan. Ini memastikan bahawa setiap bekas mempunyai sistem fail bebasnya sendiri dan tidak menjejaskan sistem fail bekas lain dan sistem hos.
Sebagai contoh, perpustakaan sistem yang berbeza boleh digunakan dalam bekas tanpa menjejaskan perpustakaan bekas lain dan sistem hos. Ini memastikan bahawa aplikasi antara bekas tidak mempunyai sebarang kebergantungan, menghalang bekas daripada berjalan dengan betul disebabkan oleh kebergantungan.
Ringkasnya, Docker boleh berjaya mencapai pengasingan terutamanya dengan menggunakan ruang nama, kumpulan kawalan dan teknologi sistem fail yang disediakan oleh Linux. Teknologi ini membolehkan setiap bekas mempunyai proses bebas, sistem fail dan sekatan sumber, mengelakkan gangguan antara bekas dan sistem hos, memastikan aplikasi boleh berjalan dengan cekap.
Atas ialah kandungan terperinci Mengapa buruh pelabuhan boleh mencapai pengasingan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!