实现“开机自动启动docker容器”教程

一、整体流程

journey
    title 开机自动启动docker容器流程
    section 确认环境
        登录系统
        检查docker是否已安装
    section 编写docker-compose文件
        创建docker-compose.yml文件
        编写容器配置信息
    section 配置systemd服务
        创建unit文件
        重载systemd服务
    section 启动docker容器
        启动systemd服务

二、详细步骤

1. 确认环境

首先登录系统,并检查是否已经安装了Docker。

2. 编写docker-compose文件

创建docker-compose.yml文件,编写容器的配置信息:

```yaml
version: '3.8'
services:
  my_container:
    image: nginx:latest
    restart: always # 容器启动失败时自动重启
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

### 3. 配置systemd服务

创建一个unit文件,用来定义systemd服务。在`/etc/systemd/system/`目录下创建一个`docker-container.service`文件,内容如下:

```markdown
```ini
[Unit]
Description=My Docker Container Service
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/local/bin/docker-compose -f /path/to/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f /path/to/docker-compose.yml down

[Install]
WantedBy=multi-user.target
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

### 4. 启动docker容器

启动systemd服务,使得容器可以在系统启动时自动启动。

```shell
sudo systemctl enable docker-container.service # 启用systemd服务
sudo systemctl start docker-container.service # 启动systemd服务
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

结尾

通过以上步骤,你已经成功实现了开机自动启动Docker容器的功能。希望这篇文章对你有所帮助,欢迎继续探索更多Docker相关的知识,加油!