buruh pelabuhan tidak pernah keluar dari bekas
Untuk memastikan bekas Docker berjalan dan tidak keluar, terdapat banyak cara untuk melakukannya. Dalam artikel ini, kami akan membincangkan beberapa kaedah yang biasa digunakan serta kebaikan dan keburukannya.
Kaedah 1: Gunakan pilihan --restart
Docker menyediakan pilihan --restart
untuk memulakan semula bekas secara automatik apabila bekas keluar secara tidak normal. Terdapat tiga nilai pilihan, iaitu no
, on-failure
dan always
, yang masing-masing sepadan dengan tiada restart, restart pada exit abnormal dan selalu restart. Contoh khusus:
docker run --restart=always IMAGE_NAME
Kelebihan menggunakan pilihan --restart
ialah ia mudah dan mudah digunakan Anda hanya perlu menambah pilihan pada baris arahan. Tetapi jika ralat berlaku dalam bekas, ia akan terus dimulakan semula sehingga bekas itu dihentikan secara manual. Ini boleh menyebabkan ketidakstabilan kod dan kehilangan data.
Kaedah 2: Gunakan Docker Compose
Docker Compose ialah alat yang boleh mentakrif dan menjalankan berbilang bekas Docker. Ia boleh menerangkan hubungan antara bekas dan parameter permulaan melalui fail yml. Tambahkan konfigurasi berikut dalam fail docker-compose.yml
:
version: '3' services: app: build: . restart: always
Kemudian anda boleh menggunakan perintah docker-compose
untuk memulakan bekas: Pilihan
docker-compose up -d
restart: always
memberitahu Docker untuk memulakan semula secara automatik bekas apabila bekas keluar secara tidak normal. Kelebihan kaedah ini ialah ia boleh menguruskan berbilang bekas, yang mudah dan pantas, tetapi masih terdapat masalah kontena dimulakan semula sepanjang masa.
Kaedah 3: Gunakan proses daemon
Menggunakan proses daemon ialah cara yang boleh dipercayai untuk memastikan bekas Docker daripada keluar. Mulakan proses daemon dalam bekas, dan kemudian biarkan bekas Docker berjalan di bawah pengawasan proses daemon. Jika terdapat masalah dengan bekas, daemon akan memulakan semula bekas.
Berikut ialah contoh menggunakan supervisor
daemon untuk memulakan perkhidmatan Node.js:
- Pasang penyelia:
- Buat fail
supervisord.conf
, tambah kandungan berikut:
npm install -g supervisor
- Tambah konfigurasi berikut dalam Dockerfile:
[supervisord] nodaemon=true [program:app] command=supervisor app.js directory=/app autostart=true autorestart=true user=root
Jana imej dan mulakan bekas :
RUN apt-get update && apt-get install -y supervisor COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
Kelebihan menggunakan daemon ialah anda boleh mengawal kelakuan bekas secara fleksibel, tetapi ia memerlukan beberapa kerja konfigurasi tambahan dan anda perlu memulakan daemon, yang mengambil beberapa sumber sistem.
Kaedah 4: Gunakan pemantauan luaran
Gunakan sistem pemantauan luaran untuk memantau bekas Docker dan mulakan semula bekas apabila pengecualian berlaku, membolehkan anda mengawal kelakuan bekas dengan lebih fleksibel. Apabila bekas tidak normal, sistem pemantauan boleh mengambil beberapa tindakan, seperti mengeluarkan penggera, merakam log, memulakan semula bekas, dsb.
Sebagai contoh, anda boleh menggunakan systemd
untuk memantau bekas Docker:
- Buat fail unit sistem, seperti
mydocker.service
, dengan kandungan berikut:
docker build -t IMAGE_NAME . docker run -d IMAGE_NAME
Fail ini mentakrifkan bekas bernama myapp
. Apabila masalah berlaku dengan bekas, systemd
akan memulakan semula bekas secara automatik. Gunakan arahan systemctl
untuk mendayakan perkhidmatan ini:
[Unit] Description=My Docker Container [Service] ExecStart=/usr/bin/docker start -a myapp Restart=always RestartSec=10s ExecStop=/usr/bin/docker stop -t 2 myapp [Install] WantedBy=default.target
Kelebihan menggunakan pemantauan luaran ialah ia lebih fleksibel dan boleh menggunakan pelbagai sistem pemantauan pihak ketiga, tetapi ia memerlukan konfigurasi dan kerja penyelenggaraan tambahan.
Secara amnya, terdapat banyak cara untuk memastikan bekas Docker berjalan untuk masa yang lama, masing-masing mempunyai kebaikan dan keburukan tersendiri. Pilihan khusus harus berdasarkan keperluan sebenar. Apabila memulakan bekas, anda juga harus mempertimbangkan kestabilan dan keselamatan operasi kontena, dan menggunakan alat automasi yang sesuai untuk mengurangkan operasi manual.
Atas ialah kandungan terperinci buruh pelabuhan tidak pernah keluar dari bekas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Docker adalah kemahiran yang mesti ada untuk jurutera DevOps. 1.Docker adalah platform kontena sumber terbuka yang mencapai pengasingan dan mudah alih dengan aplikasi pembungkusan dan kebergantungan mereka ke dalam bekas. 2. Docker bekerja dengan ruang nama, kumpulan kawalan dan sistem fail bersekutu. 3. Penggunaan asas termasuk mencipta, menjalankan dan menguruskan bekas. 4. Penggunaan lanjutan termasuk menggunakan DockerCompose untuk menguruskan aplikasi multi-kontainer. 5. Kesilapan umum termasuk kegagalan kontena, masalah pemetaan pelabuhan, dan masalah ketekunan data. Kemahiran penyahpepijatan termasuk log melihat, memasukkan bekas, dan melihat maklumat terperinci. 6. Pengoptimuman prestasi dan amalan terbaik termasuk pengoptimuman imej, kekangan sumber, pengoptimuman rangkaian dan amalan terbaik untuk menggunakan Dockerfile.

Dockervolumes memastikan data tetap selamat apabila bekas dimulakan semula, dipadam, atau berhijrah. 1. Buat Jilid: DockervolumecreatemyData. 2. Jalankan bekas dan gunung: dockerrun-it-vmydata:/app/dataubuntubash. 3. Penggunaan lanjutan termasuk perkongsian data dan sandaran.

Kaedah Peningkatan Keselamatan Docker termasuk: 1. Gunakan parameter-cap-drop untuk menghadkan keupayaan Linux, 2. Buat bekas baca sahaja, 3 set tag Selinux. Strategi ini melindungi bekas dengan mengurangkan pendedahan kelemahan dan mengehadkan keupayaan penyerang.

Menggunakan Docker di Linux dapat meningkatkan kecekapan pembangunan dan penempatan. 1. Pasang Docker: Gunakan skrip untuk memasang Docker di Ubuntu. 2. Sahkan pemasangan: Jalankan Sudodockerrunhello-World. 3. Penggunaan Asas: Buat kontena Nginx Dockerrun-Namemy-Nginx-P8080: 80-Dnginx. 4. Penggunaan Lanjutan: Buat imej tersuai, bina dan lari menggunakan Dockerfile. 5. Pengoptimuman dan amalan terbaik: Ikuti amalan terbaik untuk menulis dockerfiles menggunakan pelbagai peringkat membina dan dockercompose.

Docker menyediakan tiga mod rangkaian utama: rangkaian jambatan, rangkaian tuan rumah dan rangkaian overlay. 1. Rangkaian Jambatan sesuai untuk komunikasi antara konainer pada hos tunggal dan dilaksanakan melalui jambatan maya. 2. Rangkaian tuan rumah sesuai untuk senario di mana rangkaian berprestasi tinggi diperlukan, dan kontena secara langsung menggunakan timbunan rangkaian tuan rumah. 3. Rangkaian Overlay sesuai untuk kluster Dockerswarm Multi-Host, dan komunikasi silang host direalisasikan melalui lapisan rangkaian maya.

Dockerswarm boleh digunakan untuk membina kelompok kontena berskala dan sangat tersedia. 1) Mulakan kelompok kawanan menggunakan DockersWarminit. 2) Sertai kelompok kawanan untuk menggunakan dockerswarmjoin-terperangkap:. 3) Buat perkhidmatan menggunakan DockerServiceCreate-Namemy-Nginx-Replicas3nginx. 4) Menyebarkan perkhidmatan kompleks menggunakan dockerStackDeploy-cdocker-compose.ymlmyApp.

Inti pemantauan Docker adalah untuk mengumpul dan menganalisis data operasi bekas, terutamanya termasuk petunjuk seperti penggunaan CPU, penggunaan memori, trafik rangkaian dan cakera I/O. Dengan menggunakan alat seperti Prometheus, Grafana dan Cadvisor, pemantauan komprehensif dan pengoptimuman prestasi bekas dapat dicapai.

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).
