📜  在启动时启动 docker - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:51:25.259000             🧑  作者: Mango

在启动时启动 Docker - Shell/Bash

当你使用 Docker 作为你的应用程序运行平台时,你可能希望在服务器启动时自动启动 Docker。这样,如果服务器重新启动或崩溃,Docker 将自动重新启动并恢复你的应用程序。

在 Linux/MacOS 的操作系统中,你可以使用 Shell/Bash 脚本来实现自动启动 Docker。以下是在启动时启动 Docker 的步骤:

  1. 打开终端,并创建一个名为 docker.service 的文件:
$ sudo nano /etc/systemd/system/docker.service
  1. 在文件中,输入以下内容:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket

[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitInterval=60s
StartLimitBurst=3

[Install]
WantedBy=multi-user.target

此文件包含了 Docker 服务的配置信息。你可以根据自己的需要进行修改。

  1. 保存并关闭文件。执行以下命令重载 systemd 的配置:
$ sudo systemctl daemon-reload
  1. 启动 Docker 服务:
$ sudo systemctl start docker

现在,每次服务器启动时,Docker 将自动启动。

  1. 验证 Docker 服务是否已经成功启动:
$ sudo systemctl status docker

你将看到类似下面的输出:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/etc/systemd/system/docker.service; disabled; vendor preset: enabled)
   Active: active (running) since Sun 2021-05-30 13:07:47 UTC; 3s ago
     Docs: https://docs.docker.com
 Main PID: 16929 (dockerd)
    Tasks: 15
   Memory: 107.8M
      CPU: 820ms
   CGroup: /system.slice/docker.service
           ├─16929 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
           ├─16947 containerd --config /var/run/containerd/containerd.toml --log-level info
           ├─19712 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 172.17.0.2 -container-port 80
           ├─19826 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 32772 -container-ip 172.17.0.2 -container-port 22
           ├─19838 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 32771 -container-ip 172.17.0.2 -container-port 80
           └─19856 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 32770 -container-ip 172.17.0.2 -container-port 8080

现在,你已经成功在启动时启动了 Docker。

总结:

在 Linux/MacOS 系统中,你可以使用 Shell/Bash 脚本来实现自动启动 Docker。使用 systemd 配置文件可以方便地配置 Docker 服务。通过上述步骤,你可以在服务器启动时自动启动 Docker,并保证你的应用程序一直运行。