Docker ialah teknologi kontena virtualisasi yang sangat popular. Ia bukan sahaja menyediakan sokongan kontena yang berkuasa, tetapi juga membolehkan pembangun menggunakan dan mengurus aplikasi dengan cepat.
Walau bagaimanapun, dalam proses menggunakan Docker, kadangkala anda menghadapi situasi sedemikian: selepas bekas dimulakan, ia secara automatik keluar atas sebab tertentu. Ini adalah masalah besar bagi pemaju. Kerana semasa proses pembangunan atau ujian, adalah sangat penting bagi kontena untuk dapat berjalan dalam jangka masa yang lama Jika kontena tidak dapat berjalan dalam jangka masa yang lama, pelbagai masalah mungkin berlaku, seperti kelewatan dalam kemajuan pembangunan, ketidakupayaan untuk menguji , dan ketidakupayaan untuk perubahan kod berkuat kuasa, dsb.
Sekarang, mari kita lihat penyelesaian untuk Docker berjalan tanpa keluar.
Jika kita ingin mencari masalah dengan bekas Docker, kita perlu mencari ralat menjalankan kontena dengan mencari log kontena. Kita boleh mencari log kontena menggunakan arahan berikut:
docker logs [container]
di mana [container]
ialah nama atau ID bekas. Dengan melihat log kontena, kita dapat memahami sebab kontena gagal dimulakan.
Jika punca kegagalan permulaan kontena adalah sementara atau terdapat masalah dengan imej kontena, kita boleh cuba memulakan semula bekas. Kita boleh memulakan semula bekas menggunakan arahan berikut:
docker restart [container]
di mana [container]
ialah nama atau ID bekas. Dengan memulakan semula bekas, kami boleh menghapuskan ralat sistem supaya bekas boleh berjalan seperti biasa.
Kadangkala, menjalankan beberapa aplikasi khas akan menyebabkan bekas itu keluar. Ini biasanya kerana aplikasi memerlukan lebih banyak memori atau sumber pemproses. Kita boleh melaraskan had memori dan penggunaan CPU bekas melalui arahan berikut:
docker run -it --memory [limit] --cpu-shares [shares] [image]
di mana [limit]
ialah jumlah maksimum memori yang dibenarkan untuk digunakan oleh bekas, [shares]
ialah bilangan CPU teras yang dibenarkan untuk digunakan oleh bekas, [image]
ialah nama imej bekas.
Dengan meningkatkan had ingatan bekas dan penggunaan CPU, kami boleh memastikan bekas itu mempunyai sumber yang mencukupi untuk menjalankan aplikasi.
Dalam sesetengah kes, bekas mungkin terkeluar disebabkan isu konfigurasi rangkaian. Untuk menyelesaikan masalah ini, kami boleh menyemak tetapan rangkaian bekas. Pertama, kita boleh melihat alamat IP bekas menggunakan arahan berikut:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' [container]
di mana [container]
ialah nama atau ID bekas. Jika bekas tidak mempunyai alamat IP, ini bermakna terdapat masalah dengan tetapan rangkaian kontena dan rangkaian kontena perlu ditetapkan semula.
Kita boleh menggunakan arahan berikut untuk menetapkan rangkaian bekas:
docker run -it --net [network_name] [image]
di mana [network_name]
ialah nama rangkaian dan [image]
ialah nama imej bekas. Dengan menetapkan nama rangkaian yang betul, kami boleh memastikan bahawa bekas boleh berjalan dengan betul.
Jika bekas gagal dijalankan kerana versi Docker terlalu lama atau terdapat isu yang diketahui, kami boleh cuba mengemas kini versi Docker. Kami boleh mengemas kini Docker menggunakan arahan berikut:
sudo apt-get update sudo apt-get upgrade docker-ce
Mengemas kini versi Docker boleh menyelesaikan isu yang diketahui dan meningkatkan prestasi dan kestabilan Docker.
Dalam proses menggunakan Docker, ketekunan dan kestabilan kontena adalah sangat penting. Jika bekas Docker gagal dijalankan untuk jangka masa yang lama, ia boleh menyebabkan pelbagai masalah. Apabila masalah menjalankan kontena berlaku, kami boleh menyelesaikan masalah dengan mencari log kontena, memulakan semula bekas, melaraskan sumber kontena, menyemak tetapan rangkaian kontena dan mengemas kini versi Docker. Dengan memahami dan menguasai penyelesaian Docker berjalan tanpa keluar, kami boleh mengurus dan menggunakan Docker dengan lebih baik serta meningkatkan kecekapan pembangunan dan kualiti program.
Atas ialah kandungan terperinci docker berjalan tanpa keluar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!