Rumah > Artikel > Operasi dan penyelenggaraan > Bagaimana untuk memulakan daemon buruh pelabuhan
Docker ialah teknologi kontena yang popular yang membantu pembangun membina, menggunakan dan menjalankan aplikasi dengan cepat. Docker berjalan pada sistem pengendalian Linux, jadi sangat penting untuk mengetahui cara memulakan daemon Docker.
Daemon Docker bertanggungjawab untuk mengurus sumber seperti imej Docker, bekas, rangkaian dan volum data. Apabila kami memasang Docker, daemon Docker bermula secara automatik, tetapi kadangkala ia gagal dimulakan. Dalam artikel ini, kami akan memperkenalkan cara memulakan daemon Docker.
Langkah 1: Semak status daemon Docker
Sebelum memulakan daemon Docker, kita perlu menyemak statusnya. Daripada baris arahan Linux, anda boleh menyemak status daemon Docker dengan memasukkan arahan berikut:
sudo systemctl status docker
Jika daemon Docker sedang berjalan, anda akan melihat output yang serupa dengan yang berikut:
● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-02-19 07:54:53 UTC; 8min ago Docs: https://docs.docker.com Main PID: 954 (dockerd) Tasks: 16 Memory: 156.4M CGroup: /system.slice/docker.service ├─ 954 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ├─1051 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 2375 -container-ip 172.17.0.2 -container-port 2375 ├─1058 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 2376 -container-ip 172.17.0.2 -container-port 2376
Jika daemon Docker tidak berjalan, anda boleh memulakannya dengan memasukkan arahan berikut:
sudo systemctl start docker
Langkah 2: Semak log daemon Docker
Jika daemon Docker gagal untuk mula, anda perlu menyemak log daemon daemon Docker untuk mencari masalah. Dalam baris arahan Linux, anda boleh melihat log daemon Docker dengan memasukkan arahan berikut:
sudo journalctl -u docker
Arahan ini akan memaparkan rekod log terbaru Docker daemon. Anda harus mencari mesej ralat yang berkaitan dengan memulakan daemon Docker. Contohnya, jika anda melihat mesej ralat yang serupa dengan yang berikut:
level=error msg="Failed to start daemon: Error initializing network controller: list bridge addresses failed: PredefinedLocalScopeDefaultNetworks ListLocal Error exec: \"ip\": executable file not found in $PATH"
Mesej ralat ini menunjukkan bahawa arahan ip tiada, jadi anda perlu memasang arahan ini.
Langkah 3: Selesaikan konflik port
Jika daemon Docker gagal dimulakan dan tiada mesej ralat muncul dalam log, mungkin terdapat konflik port. Daemon Docker mendengar port TCP 2375 dan 2376 secara lalai. Jika port ini diduduki oleh aplikasi lain, daemon Docker akan gagal dimulakan.
Dalam baris arahan Linux, anda boleh menggunakan arahan berikut untuk mencari aplikasi yang menduduki port:
sudo netstat -tlnp | grep ':2375\|:2376'
Arahan ini akan memaparkan PID (ID proses) bagi aplikasi yang menduduki port 2375 atau 2376 . Anda boleh mematikan proses ini untuk mengosongkan port, atau menentukan port lain dalam fail konfigurasi daemon Docker.
Langkah 4: Semak konfigurasi daemon Docker
Jika tiada langkah di atas dapat menyelesaikan masalah permulaan daemon Docker, anda mungkin perlu menyemak fail konfigurasi daemon Docker. Fail konfigurasi daemon Docker terletak dalam direktori /etc/docker/ dan dinamakan daemon.json.
Anda boleh melihat konfigurasi daemon Docker menggunakan arahan berikut:
sudo cat /etc/docker/daemon.json
Jika kandungan fail konfigurasi kosong, anda mungkin perlu mencipta fail konfigurasi baharu. Berikut ialah contoh:
{ "storage-driver": "overlay2", "dns": ["8.8.8.8", "8.8.4.4"] "graph": "/mnt/docker-data" }
Dalam contoh ini, kami menentukan pemacu storan sebagai tindanan2, pelayan DNS sebagai 8.8.8.8 dan 8.8.4.4, dan lokasi storan graf sebagai /mnt/docker - data.
Langkah 5: Mulakan semula daemon Docker
Jika anda telah menyelesaikan masalah permulaan daemon Docker, anda perlu memulakannya semula untuk menggunakan konfigurasi baharu. Dalam baris arahan Linux, anda boleh menggunakan arahan berikut untuk memulakan semula daemon Docker:
sudo systemctl restart docker
Kesimpulan
Dalam artikel ini, kami telah memperkenalkan cara memulakan daemon Docker dan cara untuk menyelesaikan masalah kegagalan permulaan. Jika anda menghadapi masalah permulaan, sila ikuti langkah di atas untuk menyelesaikan masalah satu demi satu, kemudian jalankan imej dan bekas Docker untuk menikmati kemudahan yang dibawa oleh teknologi kontena.
Atas ialah kandungan terperinci Bagaimana untuk memulakan daemon buruh pelabuhan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!