Docker ialah platform sumber terbuka berdasarkan teknologi kontena, yang boleh membungkus aplikasi dengan mudah ke dalam bekas bebas dan mudah alih untuk digunakan. Walau bagaimanapun, apabila menggunakan Docker, kadangkala bekas boleh keluar serta-merta selepas memulakannya. Pada masa ini, kita perlu mencari punca dan menyelesaikan masalah.
1. Semak status permulaan bekas Docker
Anda boleh menyemak status permulaan bekas Docker dengan melaksanakan arahan berikut:
kontena docker ls -a
Ini Perintah akan memaparkan maklumat asas semua bekas, termasuk ID kontena, nama, status, port, dll. Kita boleh menentukan sama ada bekas itu berjalan dengan menyemak status bekas itu.
Jika status kontena Keluar, bermakna kontena telah keluar Kita perlu mengetahui masalah yang menyebabkan bekas itu keluar.
2. Semak maklumat log kontena
Terdapat banyak sebab mengapa kontena keluar selepas bermula, termasuk ralat konfigurasi, perkhidmatan tidak dimulakan, konflik port, dll. Kita boleh mengetahui sebab khusus mengapa kontena gagal dimulakan dengan melihat maklumat log kontena.
Laksanakan arahan berikut untuk melihat maklumat log bekas:
log buruh pelabuhan [nama bekas]
Anda boleh menggunakan arahan ini untuk melihat output standard (stdout ) dan ralat standard bekas Output (stderr) untuk mencari masalah dengan cepat.
3. Mulakan bekas Docker dan pastikan ia berjalan
Apabila menggunakan Docker, kita boleh menggunakan parameter untuk menghalang bekas daripada keluar selepas memulakan parameter yang biasa digunakan adalah seperti berikut:
docker run -d [image-name] [command]
Parameter -d menunjukkan memulakan bekas di latar belakang Tanpa parameter ini, bekas akan berjalan di latar depan. Parameter arahan menunjukkan arahan yang perlu dilaksanakan selepas bekas dimulakan.
Sebagai contoh, apabila memulakan bekas Nginx, anda boleh menggunakan arahan berikut:
docker run -d -p 80:80 nginx
Arahan ini memulakan bekas Nginx , Dan petakan port 80 hos ke port 80 bekas supaya kami boleh mengakses perkhidmatan Nginx melalui penyemak imbas.
4. Gunakan Docker Compose untuk mengurus bekas
Docker Compose ialah alat yang boleh mengurus berbilang bekas dan boleh menyelesaikan tugas dengan mudah seperti mengatur, memulakan dan menghentikan aplikasi berbilang bekas.
Dengan menulis fail docker-compose.yml, anda boleh menentukan set bekas, termasuk parameter larian kontena, kebergantungan, konfigurasi rangkaian, dsb. Kemudian kita boleh menggunakan arahan docker-compose untuk memulakan, menghentikan dan mengurus bekas ini.
Sebagai contoh, apabila memulakan tapak web WordPress, anda boleh menggunakan fail docker-compose.yml berikut:
versi: '3.3'
perkhidmatan:
db :
image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress
wordpress:
depends_on: - db image: wordpress:latest ports: - "80:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress
volum:
db_data:
Fail ini mentakrifkan bekas MySQL dan bekas WordPress, di mana bekas WordPress bergantung pada bekas MySQL . Dengan menggunakan arahan docker-compose up, anda boleh memulakan kedua-dua bekas ini dan mencipta laman web WordPress.
Ringkasan
Docker boleh membantu kami menggunakan aplikasi dengan cepat dan mencapai kebebasan serta mudah alih aplikasi melalui teknologi kontena. Walau bagaimanapun, apabila menggunakan Docker, kami juga perlu memberi perhatian kepada status permulaan kontena, menyemak maklumat log kontena tepat pada masanya dan mengambil langkah yang sesuai untuk menyelesaikan masalah tersebut. Selain itu, dengan menggunakan Docker Compose, kami boleh mengurus berbilang bekas dengan mudah, meningkatkan kecekapan dan kebolehpercayaan penggunaan aplikasi.
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika docker tidak keluar apabila ia bermula?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!