Docker ialah platform sumber terbuka untuk membangunkan, menghantar dan menggunakan aplikasi. Walau bagaimanapun, dalam proses menggunakan Docker, kami sering menghadapi masalah bekas keluar sejurus selepas bermula. Fenomena ini biasanya disebabkan oleh ralat semasa bekas sedang berjalan. Artikel ini akan memperkenalkan cara menyelesaikan masalah bekas Docker yang keluar serta-merta selepas bermula.
Mula-mula, kita perlu melihat log kontena untuk menentukan bila bekas itu keluar. Terdapat banyak cara untuk melihat log, tetapi kaedah yang paling biasa ialah menggunakan arahan log docker:
docker logs [container_name]
Dengan menjalankan arahan ini, kita boleh melihat output standard dan output ralat standard bekas. Jika bekas mengalami ralat dan keluar, kita boleh melihat mesej ralat dalam log.
Jika kontena keluar serta-merta selepas bermula, kami boleh cuba menjalankan bekas dalam mod interaktif dan melihat output bekas untuk menentukan masalah dengan bekas:
docker run -it [image_name] /bin/bash
Arahan ini akan menjadikan bekas berjalan dalam mod interaktif dan membuka terminal bash di dalam bekas. Jika bekas berjalan dengan betul, anda boleh melaksanakan arahan dalam terminal ini. Jika ralat berlaku semasa menjalankan, anda boleh melihat output ralat dalam terminal ini.
Konfigurasi bekas juga mungkin menjadi punca bekas keluar sejurus selepas dimulakan. Apabila bekas bermula, Docker membaca fail konfigurasi kontena dan mengkonfigurasi bekas berdasarkan tetapan dalam fail. Oleh itu, kita perlu menyemak sama ada fail konfigurasi kontena adalah betul.
Anda boleh menyemak konfigurasi bekas menggunakan arahan berikut:
docker inspect [container_name]
Arahan ini akan mengeluarkan butiran bekas, termasuk konfigurasi bekas. Kami boleh menyemak sama ada fail konfigurasi adalah betul dan membuat perubahan pada fail konfigurasi yang perlu diubah.
Selain konfigurasi kontena, pilihan masa jalan kontena juga boleh menyebabkan bekas itu keluar serta-merta selepas dimulakan. Docker membenarkan kami untuk menentukan pelbagai pilihan runtime dalam arahan docker run. Contohnya, kita boleh menentukan rangkaian yang digunakan oleh bekas, volum data kongsi, keutamaan CPU dan banyak lagi. Jika kami menentukan pilihan masa jalan yang salah, bekas akan gagal dimulakan.
Oleh itu, kita harus menyemak sama ada pilihan masa jalan kontena adalah betul. Anda boleh menggunakan arahan berikut untuk melihat pilihan masa jalan yang ditentukan:
docker inspect --format='{{json .HostConfig}}' [container_name]
Arahan ini akan mengeluarkan konfigurasi hos kontena dalam format JSON. Kami boleh menyemak sama ada konfigurasi adalah betul dan membuat perubahan bagi yang perlu diubah.
Akhir sekali, imej bekas itu sendiri juga boleh menyebabkan bekas itu keluar serta-merta selepas dimulakan. Jika konfigurasi kontena dan pilihan masa jalan adalah betul, tetapi bekas masih gagal dimulakan dengan betul, kami harus mempertimbangkan untuk menyemak imej bekas. Imej bekas itu sendiri mungkin mempunyai ralat atau kerosakan, menyebabkan bekas gagal dimulakan dengan betul.
Anda boleh menggunakan arahan berikut untuk menyemak imej bekas:
docker inspect --format='{{json .Config}}' [image_name]
Arahan ini akan mengeluarkan format JSON bagi konfigurasi imej bekas. Kami boleh menyemak sama ada konfigurasi adalah betul dan membuat perubahan bagi yang perlu diubah.
Ringkasan
Di atas adalah kaedah untuk menyelesaikan masalah kontena Docker yang keluar serta-merta selepas bermula. Kami boleh menyelesaikan masalah punca masalah kontena satu demi satu berdasarkan log kontena, menggunakan bekas interaktif, menyemak konfigurasi kontena, menyemak pilihan masa jalan kontena dan menyemak imej kontena. Melalui kaedah di atas, kami boleh menyelesaikan masalah bekas Docker yang keluar dengan lebih baik selepas bermula.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah bekas Docker keluar serta-merta selepas bermula. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!