Docker is a popular containerization technology that helps developers quickly build, deploy and run applications. Docker runs on the Linux operating system, so it is very important to know how to start the Docker daemon.
The Docker daemon is responsible for managing resources such as Docker images, containers, networks, and data volumes. When we install Docker, the Docker daemon starts automatically, but sometimes it fails to start. In this article, we will introduce how to start the Docker daemon.
Step one: Check the Docker daemon status
Before starting the Docker daemon, we need to check its status. From the Linux command line, you can check the Docker daemon status by entering the following command:
sudo systemctl status docker
If the Docker daemon is running, you will see output similar to the following:
● 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
If the Docker daemon If it is not running, you can start it by entering the following command:
sudo systemctl start docker
Step 2: Check the Docker daemon log
If the Docker daemon fails to start, you need to check the Docker daemon's log to find the problem location. In the Linux command line, you can view the Docker daemon's logs by entering the following command:
sudo journalctl -u docker
This command will display the Docker daemon's recent log records. You should look for error messages related to starting the Docker daemon. For example, if you see an error message similar to the following:
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"
This error message indicates that the ip command is missing, so you need to install it.
Step 3: Resolve port conflicts
If the Docker daemon fails to start and no error message appears in the log, there may be a port conflict. The Docker daemon listens to TCP ports 2375 and 2376 by default. If these ports are occupied by other applications, the Docker daemon will not start.
In the Linux command line, you can use the following command to find the application occupying the port:
sudo netstat -tlnp | grep ':2375\|:2376'
This command will display the PID (process ID) of the application occupying port 2375 or 2376. You can kill these processes to free up the port, or specify a different port in the Docker daemon configuration file.
Step 4: Check the Docker daemon configuration
If none of the above steps can solve the Docker daemon startup problem, you may need to check the Docker daemon configuration file. The configuration file of Docker daemon is located in the /etc/docker/ directory and is named daemon.json.
You can use the following command to view the configuration of the Docker daemon:
sudo cat /etc/docker/daemon.json
If the content of the configuration file is empty, you may need to create a new configuration file. Here is an example:
{ "storage-driver": "overlay2", "dns": ["8.8.8.8", "8.8.4.4"] "graph": "/mnt/docker-data" }
In this example, we specified the storage driver as overlay2, the DNS servers as 8.8.8.8 and 8.8.4.4, and the location of the graph storage as /mnt/docker-data.
Step 5: Restart the Docker daemon
If you have solved the Docker daemon startup problem, you need to restart it to apply the new configuration. In the Linux command line, you can use the following command to restart the Docker daemon:
sudo systemctl restart docker
Conclusion
In this article, we introduced how to start the Docker daemon and how to solve the problem of startup failure. If you encounter startup problems, please follow the above steps to troubleshoot the problem one by one, then run the Docker image and container to enjoy the convenience brought by containerization technology.
The above is the detailed content of How to start docker daemon. For more information, please follow other related articles on the PHP Chinese website!