Docker 启停教程

流程概述

在教会小白如何实现 Docker 启停之前,我们需要先了解整个流程。下面是 Docker 启停的流程图:

pie
title Docker 启停流程
"编写 Dockerfile" : 30
"构建镜像" : 20
"创建容器" : 20
"启动容器" : 15
"停止容器" : 10
"删除容器" : 5

如上图所示,Docker 启停的主要流程包括以下几个步骤:

  1. 编写 Dockerfile:Dockerfile 是一个文本文件,用于定义 Docker 镜像的配置信息和构建步骤。
  2. 构建镜像:使用 Dockerfile 构建镜像,生成可以运行的容器的基础镜像。
  3. 创建容器:基于镜像创建一个容器实例。
  4. 启动容器:启动容器中的应用程序。
  5. 停止容器:停止正在运行的容器。
  6. 删除容器:删除已停止的容器。

接下来,我们将逐步介绍每个步骤需要做什么,并提供相应的代码示例。

编写 Dockerfile

编写 Dockerfile 是创建 Docker 镜像的第一步。Dockerfile 使用一系列的指令来描述镜像的构建过程,包括镜像的基础操作系统、运行时环境、依赖软件的安装等。

Dockerfile 示例:

# 使用基础镜像
FROM ubuntu:latest

# 设置工作目录
WORKDIR /app

# 复制应用程序到容器中
COPY . .

# 安装应用程序的依赖
RUN apt-get update && apt-get install -y \
    python3 \
    python3-pip

# 安装 Python 依赖包
RUN pip3 install -r requirements.txt

# 暴露端口
EXPOSE 5000

# 设置默认启动命令
CMD ["python3", "app.py"]

构建镜像

在编写好 Dockerfile 后,我们需要使用 Docker 命令来构建镜像。运行以下命令在当前目录下构建镜像:

docker build -t myapp:latest .

解释:

  • docker build:构建镜像的命令。
  • -t myapp:latest:指定镜像的名称和标签。myapp 是镜像的名称,latest 是标签。
  • .:构建上下文的路径。. 表示当前目录。

构建镜像时,Docker 会按照 Dockerfile 中的指令逐步执行,并生成最终的镜像。

创建容器

构建好镜像后,我们可以基于该镜像创建一个容器实例。运行以下命令创建容器:

docker create --name myapp-container -p 8080:5000 myapp:latest

解释:

  • docker create:创建容器的命令。
  • --name myapp-container:为容器指定一个名称,这里使用 myapp-container
  • -p 8080:5000:将容器的内部端口 5000 映射到主机的端口 8080,以便访问容器中运行的应用程序。
  • myapp:latest:使用的镜像名称和标签。

启动容器

创建容器后,我们可以使用以下命令来启动容器:

docker start myapp-container

解释:

  • docker start:启动容器的命令。
  • myapp-container:要启动的容器名称。

停止容器

当需要停止正在运行的容器时,可以使用以下命令:

docker stop myapp-container

解释:

  • docker stop:停止容器的命令。
  • myapp-container:要停止的容器名称。

删除容器

如果不再需要一个容器,可以使用以下命令来删除它:

docker rm myapp-container

解释:

  • docker rm:删除容器的命令。
  • myapp-container