迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 > Docker >

Docker Compose 停止、关闭、启动和启动之间的区别

作者:迹忆客 最近更新:2023/05/09 浏览次数:

Docker Compose 有多个类似的命令,但功能完全不同。 一些示例是命令 docker compose stop 和 docker compose down 以及命令 docker compose start 和 docker compose up。

本文将相应地讨论它们的区别。


docker compose stop 和 docker compose down 的区别

使用 docker compose stop

运行 docker compose stop 命令的主要功能是停止正在运行的容器的服务。 该命令将停止我们的容器,但不一定会删除它们。

例如,如果我们不指定容器名称或 ID,下面的命令将停止所有容器:

$ docker compose stop

输出:

Going to stop file, web, test
Stopping file ... done
Stopping web ... done
Stopping test ... done

我们可以通过指定容器名称或 ID 来指定停止哪个容器:

$ docker compose stop file

输出:

Going to stop file
Stopping file ... done

此外,我们可以在运行 docker compose stop 时指定关闭超时。 Docker 通常会在停止我们的容器之前等待 10 秒。

例如,如果我们知道我们的容器在停止时可能需要更多时间,我们可能希望增加此超时值,如下所示。

$ docker compose stop file -t 60

使用 docker compose down

另一方面,docker compose down 命令在这个过程中给了我们一个额外的步骤。 该命令将停止并删除容器和其中运行的服务; 删除包括容器和网络。

docker compose down 在顺序执行时与 docker stop <container name or id>docker <prune or rm> 的行为类似。 我们可以说 docker compose down 命令是两个组合命令的快捷方式。

因此,不要运行下面的两个命令:

$ docker compose stop file && docker compose rm -f

我们可以改用 docker compose down

$ docker compose down file

我们可以通过将 -v--volumes 标志附加到我们的 docker compose down 命令来提升它。 该命令将停止并删除容器、它们的网络以及执行时附加的卷。

通过添加上述标志,我们将三个命令合并为一个命令。

$ docker compose down file -v

我们不仅可以对容器使用 docker compose down 命令,还可以对镜像使用。 例如,我们可以运行 docker compose down --rmi <all or local> 命令来移除镜像。

该命令在原生 Docker 中使用时类似于 docker rmi 命令。


docker compose start 和 docker compose up 的区别

使用docker compose start

与我们上一节一样,命令 docker compose startdocker compose up 听起来很相似,但在功能上却有所不同。 例如,docker compose start 命令重新启动之前停止的特定容器。

$ docker compose start file

此外,上述命令仅适用于已创建的容器。

那么,如何才能直接启动一个未创建的容器呢? 我们可以在下面使用以下命令。

使用 docker compose up

docker compose up 命令基于 docker-compose.yml 文件启动一个新容器。 它类似于在彼此顺序运行时运行 docker createdocker start

由于我们使用的是 YAML 文件,因此我们可以仅使用一个命令来创建和启动多个容器。

docker compose up

输出:

Creating file
Creating web
Creating test

当我们使用 docker compose up 时,如果源 YAML 文件有任何变化,基于该 YAML 文件的容器将被停止并重新创建。

为避免这种情况,我们可以在 docker compose up 期间使用 --no-recreate 选项,如下所示。 总而言之,如果容器已经存在,该命令将不会重新创建它。

$ docker-compose up -d --no-recreate

此外,就像 docker compose stop 一样,我们可以指定超时值。

$ docker-compose up -d -t 30

我们也可以说这是在 vanilla Docker 环境中运行和启动新容器时命令 docker run 的主要对应项。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Linux 中托管 Docker Internal

发布时间:2023/04/18 浏览次数:139 分类:Docker

Docker 允许开发人员通过将应用程序包装在称为容器的标准化单元中来高效地构建、测试和部署应用程序。 在使用 Docker 容器时,您可能会遇到需要将容器与主机连接的场景。

在 Docker 中设置工作目录

发布时间:2023/04/18 浏览次数:82 分类:Docker

在 Docker 中,我们可以通过编辑 Dockerfile 并添加密钥 WORKDIR 来设置我们的工作目录。本文将讨论在 Docker 中更改我们当前和默认的工作目录。

在 Docker 容器中公开多个端口

发布时间:2023/04/18 浏览次数:143 分类:Docker

Docker 容器使用端口来实现万维网上不同设备之间的通信。 在本篇文章中,我们将学习如何使用 Nginx 应用程序在 Docker 容器中公开多个端口。

将用户添加到 Docker 容器

发布时间:2023/04/18 浏览次数:187 分类:Docker

在本文中,我们将学习如何通过实现返回产品数组的 Express 应用程序将用户添加到 Docker 容器。

使用 Docker 网络主机命令

发布时间:2023/04/18 浏览次数:112 分类:Docker

在本文中,我们将学习如何使用 --network 命令将容器添加到主机网络。 如果我们不使用此命令指定网络,我们还将了解如何将容器添加到默认网络。

清除 Docker 容器日志

发布时间:2023/04/18 浏览次数:181 分类:Docker

本文介绍了我们可以用来清除 docker 容器中日志的不同方法。日志是应用程序在特定事件或状态发生时记录的信息,它们帮助我们监控应用程序并采取必要的措施。

Docker 中的守护进程日志位置

发布时间:2023/04/18 浏览次数:175 分类:Docker

本文将讨论守护进程事件以及我们通常可以在哪里找到每个操作系统 (OS) 的守护进程日志。

Dockerfile 中 COPY 和 ADD 命令的区别

发布时间:2023/04/18 浏览次数:158 分类:Docker

在 Dockerfile 中,我们可以使用 COPY 或 ADD 命令复制这些文件。 这些命令在功能上是相同的; 但是,存在一些差异。本文介绍了 Dockerfile 中 COPY 和 ADD 命令之间的区别。

Docker 中的 --rm 标志

发布时间:2023/04/18 浏览次数:77 分类:Docker

本文介绍如何在 docker 中使用 --rm 命令。 此外,它还提供了使用命令的优势。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便