search
HomeOperation and MaintenanceDockerDocker starts automatically without booting

Docker is one of the most popular containerization software currently, which can help developers create and run applications more conveniently. But sometimes, you may encounter a problem: Docker will not start automatically after you start your computer. If you want Docker to start automatically, let's take a look at how to set it up.

  1. Prerequisites

Before setting up, you first need to confirm whether your Docker has systemd and daemon.json files installed. Both files are required as they will help Docker start automatically at boot.

If they are not installed on your system, you can use the following command to install them:

sudo apt-get update
sudo apt-get install systemd
  1. Edit the daemon.json file

Enable Docker On systems, you need to edit the /etc/docker/daemon.json file. If the file does not exist, you can create it using the following command:

sudo nano /etc/docker/daemon.json

Then, add the following code to the file:

{
    "default-address-pools":
    [
        {"base":"172.0.0.0/8","size":16},
        {"base":"192.168.0.0/16","size":24}
    ],
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "10m",
        "max-file": "3"
    }
}

This code snippet contains some Docker configuration information. It also contains a default address pool that will be used to assign IP addresses to Docker containers. You can modify it as needed.

  1. Add systemd file

Next, you need to create a systemd file named docker.service and add it to the /etc/systemd/system/ directory middle.

Create a new file using the following command:

sudo nano /etc/systemd/system/docker.service

Add the following code to the file:

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target sshd.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
EnvironmentFile=-/run/flannel/docker
Restart=always
RestartSec=3
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity

[Install]
WantedBy=multi-user.target

This file will tell systemd how to start Docker and configure some options, as follows:

  • Description: The name of the service
  • Documentation: The link to Docker’s official documentation
  • After: A list of other services that need to be started when the service starts
  • Wants: After some listed services are loaded, the service will be started after a period of delay
  • Type: Service type
  • ExecStart: Service startup command
  • ExecReload: Service reload command
  • EnvironmentFile: Environment variable file loading path
  • Restart: How to restart the service
  • RestartSec: The interval between restarting the service
  • LimitNOFILE: The upper limit of the number of file descriptors that a process can open
  • LimitNPROC: The upper limit of the number of threads that a process can create
  • LimitCORE: The maximum memory limit that a process can use
  1. Reload systemd

After adding the systemd file to the /etc/systemd/system/ directory, you need to reload the systemd process for the configuration to take effect. You can use the following command to reload systemd.

sudo systemctl daemon-reload
  1. Enable systemd

The next step is to enable the Docker service to start automatically. You can enable systemd using the following command.

sudo systemctl enable docker.service

This command will automatically start Docker when booting.

Finally

Now, you have learned how to automatically start the Docker service when the system starts. If you encounter other Docker problems, you can refer to the official Docker documentation or ask for help in the community.

The above is the detailed content of Docker starts automatically without booting. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Using Docker with Linux: A Comprehensive GuideUsing Docker with Linux: A Comprehensive GuideApr 12, 2025 am 12:07 AM

Using Docker on Linux can improve development and deployment efficiency. 1. Install Docker: Use scripts to install Docker on Ubuntu. 2. Verify the installation: Run sudodockerrunhello-world. 3. Basic usage: Create an Nginx container dockerrun-namemy-nginx-p8080:80-dnginx. 4. Advanced usage: Create a custom image, build and run using Dockerfile. 5. Optimization and Best Practices: Follow best practices for writing Dockerfiles using multi-stage builds and DockerCompose.

Docker Monitoring: Gathering Metrics and Tracking Container HealthDocker Monitoring: Gathering Metrics and Tracking Container HealthApr 10, 2025 am 09:39 AM

The core of Docker monitoring is to collect and analyze the operating data of containers, mainly including indicators such as CPU usage, memory usage, network traffic and disk I/O. By using tools such as Prometheus, Grafana and cAdvisor, comprehensive monitoring and performance optimization of containers can be achieved.

Docker Swarm: Building Scalable and Resilient Container ClustersDocker Swarm: Building Scalable and Resilient Container ClustersApr 09, 2025 am 12:11 AM

DockerSwarm can be used to build scalable and highly available container clusters. 1) Initialize the Swarm cluster using dockerswarminit. 2) Join the Swarm cluster to use dockerswarmjoin--token:. 3) Create a service using dockerservicecreate-namemy-nginx--replicas3nginx. 4) Deploy complex services using dockerstackdeploy-cdocker-compose.ymlmyapp.

Docker with Kubernetes: Container Orchestration for Enterprise ApplicationsDocker with Kubernetes: Container Orchestration for Enterprise ApplicationsApr 08, 2025 am 12:07 AM

How to use Docker and Kubernetes to perform container orchestration of enterprise applications? Implement it through the following steps: Create a Docker image and push it to DockerHub. Create Deployment and Service in Kubernetes to deploy applications. Use Ingress to manage external access. Apply performance optimization and best practices such as multi-stage construction and resource constraints.

Docker Troubleshooting: Diagnosing and Resolving Common IssuesDocker Troubleshooting: Diagnosing and Resolving Common IssuesApr 07, 2025 am 12:15 AM

Docker FAQs can be diagnosed and solved through the following steps: 1. View container status and logs, 2. Check network configuration, 3. Ensure that the volume mounts correctly. Through these methods, problems in Docker can be quickly located and fixed, improving system stability and performance.

Docker Interview Questions: Ace Your DevOps Engineering InterviewDocker Interview Questions: Ace Your DevOps Engineering InterviewApr 06, 2025 am 12:01 AM

Docker is a must-have skill for DevOps engineers. 1.Docker is an open source containerized platform that achieves isolation and portability by packaging applications and their dependencies into containers. 2. Docker works with namespaces, control groups and federated file systems. 3. Basic usage includes creating, running and managing containers. 4. Advanced usage includes using DockerCompose to manage multi-container applications. 5. Common errors include container failure, port mapping problems, and data persistence problems. Debugging skills include viewing logs, entering containers, and viewing detailed information. 6. Performance optimization and best practices include image optimization, resource constraints, network optimization and best practices for using Dockerfile.

Docker Security Hardening: Protecting Your Containers From VulnerabilitiesDocker Security Hardening: Protecting Your Containers From VulnerabilitiesApr 05, 2025 am 12:08 AM

Docker security enhancement methods include: 1. Use the --cap-drop parameter to limit Linux capabilities, 2. Create read-only containers, 3. Set SELinux tags. These strategies protect containers by reducing vulnerability exposure and limiting attacker capabilities.

Docker Volumes: Managing Persistent Data in ContainersDocker Volumes: Managing Persistent Data in ContainersApr 04, 2025 am 12:19 AM

DockerVolumes ensures that data remains safe when containers are restarted, deleted, or migrated. 1. Create Volume: dockervolumecreatemydata. 2. Run the container and mount Volume: dockerrun-it-vmydata:/app/dataubuntubash. 3. Advanced usage includes data sharing and backup.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.