Saya mencoba untuk mendorong gambar buruh pelabuhan dan memperhatikan bahwa daemon buruh pelabuhan saya sebenarnya mungkin tidak berjalan.

Jika misalnya saya menjalankan:

docker run hello-world

docker: Tidak dapat terhubung ke daemon Docker di unix:///var/run/docker.sock. Apakah daemon buruh pelabuhan berjalan?.

Jika saya mencoba me-restart daemon menggunakan:

systemctl start docker

Pekerjaan untuk docker.service gagal karena proses kontrol keluar dengan kode kesalahan. Lihat "systemctl status docker.service" dan "journalctl -xe" untuk detailnya.

Terus berjalan:

systemctl status docker.service

docker.service - Mesin Kontainer Aplikasi Docker

Dimuat: dimuat (/lib/systemd/system/docker.service; diaktifkan; vendor prasetel: diaktifkan) Aktif: gagal (Hasil: start-limit-hit) sejak Rabu 2021-05-12 14:45:09 EEST; 43 detik yang lalu
Dokumen: https://docs.docker.com
Proses: 4810 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (kode=keluar, status=1/GAGAL) PID Utama: 4810 (kode=keluar, status=1/GAGAL)

12 Mei 14:45:07 iti-554 systemd[1]: docker.service: Unit dimasukkan status gagal.
12 Mei 14:45:07 iti-554 systemd[1]: docker.service: Gagal dengan hasil 'kode keluar'.
12 Mei 14:45:09 iti-554 systemd[1]: docker.service: Penundaan layanan waktu berakhir, penjadwalan dimulai ulang.
12 Mei 14:45:09 iti-554 systemd[1]: Aplikasi Docker yang Dihentikan Mesin Kontainer.
12 Mei 14:45:09 iti-554 systemd[1]: docker.service: Mulai permintaan diulang terlalu cepat.
12 Mei 14:45:09 iti-554 systemd[1]: Gagal memulai Aplikasi Docker Mesin Kontainer.
12 Mei 14:45:09 iti-554 systemd[1]: docker.service: Unit dimasukkan status gagal.
12 Mei 14:45:09 iti-554 systemd[1]: docker.service: Gagal dengan hasil 'mulai-batas-hit'.

Yang seperti yang saya pahami itu berarti daemon buruh pelabuhan tidak dimuat (dalam keadaan gagal) dan alasan terakhir untuk ini adalah start-limit-hit telah tercapai. Ini di sisi ini mungkin berarti ada alasan lain untuk ini terjadi.

JADI, bagaimana cara mengetahui alasan sebenarnya daemon buruh pelabuhan saya menolak untuk memulai?

Jika saya menjalankan untuk mengatur ulang penghitung upaya yang gagal dengan:

systemctl reset-failed docker.service

Itu kembali tanpa kesalahan jadi saya menganggap itu berhasil. Dan memang saat saya cek statusnya menjadi:

Aktif: tidak aktif (mati) sejak Rab 2021-05-12 14:45:09 EEST; 14 menit yang lalu

Tentu saja jika saya menjalankan daemon buruh pelabuhan lagi gagal.

Adakah yang bisa memberikan solusi tentang masalah ini? Saya bahkan mencoba menjalankan perintah setelah memulai ulang (tidak membantu).

Sunting

Nah, untuk kasus saya masalahnya agak bodoh. Saya telah menambahkan file daemon.json dengan konten minimal di dalamnya. Hanya ini: cat /etc/docker/daemon.json

{
"insecure-registries": [
"docker-server.com:10022",
"docker-server.com:10023"
],
}

Masalahnya adalah koma yang menjuntai sebelum } membuat buruh pelabuhan mencari parameter lain. Pesan relevan yang ditampilkan menggunakan journalctl -u docker adalah:

tidak dapat mengonfigurasi daemon Docker dengan file /etc/docker/daemon.json: karakter tidak valid '}' mencari awal string kunci objek

Cukup jelas tetapi yang sebelumnya tidak banyak membantu.

1
Eypros 12 Mei 2021, 15:29

1 menjawab

Jawaban Terbaik

journalctl -u docker memberi Anda log daemon buruh pelabuhan. Mungkin Anda dapat menemukan sesuatu di sana.

1
Paweł Grondal 12 Mei 2021, 12:52