Docker ialah platform kontena sumber terbuka yang menyediakan persekitaran yang membolehkan pembangun membungkus aplikasi dan semua kebergantungan mereka ke dalam bekas mudah alih untuk penggunaan dan pengurusan. Kelebihan bekas Docker ialah ia pantas, ringan, mempunyai pengasingan yang kuat dan mudah alih. Walau bagaimanapun, dalam aplikasi sebenar, kami sering memerlukan ciri yang tidak keluar dari bekas Docker serta-merta selepas dijalankan untuk memastikan perkhidmatan kami berjalan dengan normal dan stabil.
Dalam artikel ini, kami akan memperkenalkan cara menggunakan bekas Docker untuk dijalankan tanpa keluar.
Gunakan kaedah Bash untuk melaksanakan bekas Docker tanpa keluar Anda perlu menjalankan arahan berikut:
docker run -it --name=容器名称 --restart=always 镜像名称 /bin/bash
Dalam arahan ini, Kami menetapkan mod permulaan bekas Docker sebagai terminal interaktif, dengan nama 容器名称
, dan tetapkan 容器名称
sebagai nama permulaan lalai selepas dimulakan semula, yang memastikan bekas tidak akan keluar secara tidak normal dan tidak dapat memulihkan dirinya sendiri. Dan --restart=always
digunakan untuk menyatakan bahawa apabila bekas Docker ranap atau berhenti, bekas itu harus dimulakan semula dan Docker akan memulakan semula bekas secara automatik. 镜像名称
akhir merujuk kepada imej yang harus digunakan untuk memulakan bekas.
Selain menggunakan Bash, kami juga boleh menggunakan skrip Python untuk menghalang bekas Docker daripada keluar. Di bawah ialah skrip Python:
import time while True: time.sleep(60)
Kami menyimpan kod ini sebagai fail run.py
dan menambah baris berikut dalam Dockerfile:
CMD python /app/run.py
Seterusnya, kami menggunakan docker build
Perintah untuk membina Fail Docker sebagai imej, dan kemudian gunakan arahan berikut untuk menjalankan bekas:
docker run -d --restart=always 镜像名称
Dalam arahan ini, kami menentukan bahawa bekas Docker akan dimulakan dalam mod latar belakang dan nama imej ialah imej yang dibina sebelum ini. --restart=always
juga digunakan untuk menyatakan bahawa apabila bekas Docker ranap atau berhenti, bekas itu harus dimulakan semula.
Penyelia ialah pengurus proses yang boleh digunakan untuk memantau dan mengawal proses yang berjalan dalam bekas Docker. Penyelia membenarkan anda melakukan pemeriksaan kesihatan pada proses dalam bekas dan memastikan ia terus berjalan, dimulakan semula secara automatik walaupun proses ranap.
RUN apt-get update && apt-get install -y supervisor RUN systemctl enable supervisor ADD supervisor.conf /etc/supervisor/conf.d/
supervisor.conf
: [supervisord] nodaemon=true [program:your_application_name] command=/bin/bash -c "while true; do echo hello world; sleep 10; done"
Dalam fail konfigurasi ini, kami mentakrifkan program bernama your_application_name
dan menentukannya untuk dilaksanakan dengan arahan /bin/bash
, Jalankan perintah echo hello world; sleep 10;
dalam gelung tak terhingga.
/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
Dalam arahan ini, kami lulus -n
parameter kepada proses Penyelia Tetapkan untuk dijalankan di latar depan. Pada permulaan, Penyelia mengesan semua fail konfigurasi dalam direktori /etc/supervisor/conf.d/
dan menggunakannya untuk mengurus proses dalam bekas.
Dalam artikel ini, kami telah memberikan tiga kaedah untuk merealisasikan ciri menjalankan bekas Docker tanpa keluar, termasuk menggunakan kaedah Bash, skrip Python dan pengurus proses Penyelia. Setiap kaedah mempunyai kelebihan dan skop penggunaannya Dalam aplikasi praktikal, kaedah yang sesuai perlu dipilih berdasarkan situasi tertentu. Kami berharap artikel ini membantu anda dan memberikan jaminan yang lebih baik untuk pengendalian bekas Docker anda.
Atas ialah kandungan terperinci Cara menggunakan bekas Docker untuk dijalankan tanpa keluar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!