Linux Docker 容器开机启动 docker run
介绍
Docker 是一种开源的容器化平台,可以帮助我们构建、发布和运行应用程序。在使用 Docker 时,我们通常会通过 docker run 命令来启动一个容器。但是,当我们的系统重新启动时,容器并不会自动启动。为了让容器在系统开机时自动运行,我们需要进行一些配置。
本文将介绍如何在 Linux 系统中设置 Docker 容器开机启动的步骤,以及如何使用 docker run 命令启动容器。
步骤
1. 创建容器
首先,我们需要创建一个 Docker 容器。假设我们要创建一个运行 nginx 服务的容器。
使用以下命令创建一个新容器:
docker create --name my-nginx -p 80:80 nginx
以上命令创建了一个名为 my-nginx 的容器,映射主机的 80 端口到容器的 80 端口,并使用 nginx 镜像作为容器的基础镜像。
2. 设置容器开机启动
在 Linux 系统中,我们可以使用 systemd 来设置容器开机启动。下面是一个例子:
- 创建一个名为 my-nginx.service 的服务文件,位置应该在 /etc/systemd/system/ 目录下。
sudo nano /etc/systemd/system/my-nginx.service
- 在 my-nginx.service 文件中,添加以下内容:
[Unit]
Description=My NGINX Container
Requires=docker.service
After=docker.service
[Service]
ExecStart=/usr/bin/docker start -a my-nginx
ExecStop=/usr/bin/docker stop -t 2 my-nginx
[Install]
WantedBy=default.target
以上配置文件中,我们指定了容器的启动和停止命令,并将容器的启动和停止与 docker.service 相关联。
-
保存并退出文件。
-
启用并启动服务:
sudo systemctl enable my-nginx
sudo systemctl start my-nginx
现在,当系统重新启动时,my-nginx 容器将会自动启动。
3. 使用 docker run 启动容器
除了设置容器开机启动,我们还可以使用 docker run 命令手动启动容器。
使用以下命令启动之前创建的 my-nginx 容器:
docker run -d --name my-nginx -p 80:80 nginx
这将使用 nginx 镜像创建并启动一个新的容器,并将容器的 80 端口映射到主机的 80 端口。
总结
通过本文,我们学习了如何在 Linux 系统中设置 Docker 容器开机启动。我们创建了一个 NGINX 容器,并使用 systemd 配置了容器的开机启动。此外,我们还学习了如何使用 docker run 命令手动启动容器。
希望本文对你理解 Linux Docker 容器的开机启动过程有所帮助!
甘特图
下面是一个使用 mermaid 语法绘制的甘特图,展示了创建容器和设置容器开机启动的过程:
gantt
dateFormat MM-DD
title Docker 容器开机启动流程
section 创建容器
创建容器 :done, 01-01, 1h
配置容器启动命令 :done, 01-01, 1h
section 设置容器开机启动
创建服务文件 :done, 01-02, 1h
编辑服务文件 :done, 01-02, 1h
启用并启动服务 :done, 01-03, 1h
section 使用 docker run 启动容器
手动启动容器 :done, 01-04, 1h
以上甘特图展示了创建容器和设置容器开机启动的过程以及使用 docker run 手动启动容器的步骤。
希望这个甘特图可以更直观地展示整个流程!
参考链接:
- [Docker 官方文档](