Saya hari ini menggunakan sebuah instance dari MediaWiki menggunakan gambar appcontainers / mediawiki docker, dan sekarang saya memiliki masalah baru yang tidak dapat saya temukan petunjuknya. Setelah mencoba melampirkan ke wadah depan mediawiki menggunakan:
docker attach mediawiki_web_1
yang menjawab Terminated
konfigurasi saya karena alasan yang saya abaikan, juga mencoba:
docker exec -it mediawiki_web_1 bash
Saya mendapatkan sesuatu yang mendekati pesan kesalahan:
Error response from daemon: Container 81c07e4a69519c785b12ce4512a8ec76a10231ecfb30522e714b0ae53a0c9c68 is restarting, wait until the container is running
Dan ada masalah baru saya, karena container ini tidak pernah berhenti restart. Saya dapat melihat bahwa penggunaan docker ps -a
yang selalu mengembalikan STATUS dari Restarting (127) x seconds ago
.
Masalahnya adalah, saya dapat menghentikan penampung (saya menguji) tetapi memulainya lagi tampaknya membawanya kembali ke loop restart.
Tahu apa yang menjadi masalah di sini? Semuanya bekerja dengan baik sampai saya mencoba untuk memasangnya ...
Aku sedih :-(
Jawaban:
The
docker logs
perintah akan menunjukkan output wadah menghasilkan ketika Anda tidak menjalankannya secara interaktif. Ini mungkin termasuk pesan kesalahan.Anda juga dapat menjalankan wadah baru di latar depan
docker run -ti <your_wiki_image>
untuk melihat fungsinya. Anda mungkin perlu memetakan beberapa konfigurasi daridocker-compose
yml Anda kedocker
perintah.Saya menduga bahwa melampirkan ke proses wiki media menyebabkan crash yang merusak sesuatu dalam data Anda.
sumber
2016-05-26T16:38:27.362409489Z * Stopping web server apache2 * 2016-05-26T21:49:11.376549083Z Terminated 2016-05-26T21:49:11.688655642Z /bin/bash: /tmp/.runconfig.sh: No such file or directory
:, jadi Anda benar, ada sesuatu yang rusak dalam data karena runconfig.sh tampaknya telah menghilang. Saya akan mencoba menjalankan wadah sekali lagi dari latar depan seperti yang Anda sarankan. Hanya perlu menemukan cara menentukan 25 argumen yang tepat ^^docker ps -a
menunjukkan kepada saya bahwa itu macet di loop boot dan perintah Anda menunjukkan kepada saya alasannya: file sudah ada di direktori mysql yang tidak dapat dihapus. Anda menyelamatkan saya dari berjam-jam menarik rambut saya keluar. Terima kasih!Jika
docker kill CONTAINER_ID
tidak berfungsi dandocker stop -t 1 CONTAINER_ID
juga tidak berfungsi, Anda dapat mencoba menghapus penampung:Saya mengalami masalah serupa hari ini di mana kontainer berada dalam loop restart terus menerus.
Masalah dalam kasus saya terkait dengan saya sebagai insinyur yang buruk.
Bagaimanapun, saya memperbaiki masalah dengan menghapus penampung, memperbaiki kode saya, lalu membangun kembali dan menjalankan penampung.
Semoga ini membantu siapa pun yang terjebak dengan masalah ini di masa mendatang
sumber
restart: always
yang membuat saya dalam lingkaran buruh pelabuhan mencoba memulai aplikasi yang rusak .. :(Dari pengalaman pribadi, sepertinya ada masalah dalam kontainer buruh pelabuhan Anda yang tidak memungkinkannya untuk dimulai ulang. Jadi beberapa proses dalam penampung menyebabkan mulai ulang macet atau beberapa proses menyebabkan penampung macet saat dimulai.
Saat Anda memulai penampung, pastikan Anda memulainya dengan melepaskan "-d" jika Anda akan melampirkannya. (mis. "docker run -d mediawiki_web_1")
sumber
tl; dr Ini dimulai ulang dengan kode status
127
, artinya ada file / pustaka yang hilang di penampung Anda. Memulai wadah baru mungkin bisa memperbaikinya.Penjelasan:
Sejauh pemahaman saya tentang Docker, inilah yang terjadi:
127
, yang dijelaskan dalam jawaban ini .no
( default ), (baik menggunakan bendera baris perintah--restart
ataudocker-compose.yml
kuncirestart
) saat memulai penampung.Solusi: Sesuatu mungkin telah merusak penampung Anda. Memulai wadah baru idealnya melakukan pekerjaan itu.
sumber
Ini juga bisa terjadi jika Anda telah membuat
systemd
layanan yang memiliki:sumber
Dalam kasus saya, wadah nginx terus memulai ulang, saya memeriksa log wadah nginx dan mengetahui file .crt dan .key dari domain yang tidak diperlukan mengalami kesalahan, jadi saya menghapus masing-masing file .conf, .crt dan .key dan kemudian memulai ulang nginx. Itu saja nginx berfungsi dengan baik tanpa memulai ulang.
sumber
Saya telah lupa Minikube berjalan di latar belakang dan itulah yang selalu memulai ulang mereka kembali
sumber
Pertama periksa log mengapa penampung gagal. Karena kebijakan mulai ulang Anda mungkin membuat penampung Anda kembali ke status berjalan. Lebih baik memperbaiki masalah ini, Maka mungkin Anda dapat membuat gambar baru dengan / tanpa perbaikan. Kemudian jalankan perintah di bawah ini
docker system prune
https://forums.docker.com/t/docker-registry-in-restarting-1-status-forever/12717/3
sumber
Coba tambahkan parameter ini ke file yml buruh pelabuhan Anda
File terakhir akan terlihat seperti ini
sumber