docker组合up和docker组合start之间有什么区别



每当我执行时

docker-compose start 
docker-compose ps

我看到状态为"UP"的容器。如果我做

docker-compose up -d

我会看到更详细的内容,但它将具有相同的状态。两个命令之间有什么区别吗?

docker compose start
(https://docs.docker.com/compose/reference/start/)

启动服务的现有容器。

docker组合
(https://docs.docker.com/compose/reference/up/)

构建、(重新)创建、启动和连接到服务的容器。

除非它们已经在运行,否则此命令还会启动任何链接的服务。

docker-compose up命令聚合每个容器的输出(实质上运行docker-compose logs -f)。当命令退出时,停止所有容器。运行docker-compose up -d启动容器,并让它们运行。

如果存在服务的现有容器,并且该服务的配置或图像在容器创建后发生了更改,docker-compose up通过停止并重新创建容器(保留已安装的卷)。阻止Compose拾取更改时,请使用--no-recreate标志。

有关完整的CLI参考:
https://docs.docker.com/compose/reference/

在docker常见问题中,这一点解释得非常清楚:

起身、跑步和起跑有什么区别

通常,您需要docker-compose up。使用up启动或重新启动在CCD_ 8。在默认情况下在"附加"模式下,您可以看到来自所有容器的所有日志。在里面"分离"模式(-d),Compose在启动容器后退出,但容器继续在后台运行。

docker-compose run命令用于运行"一次性"或"临时"任务。它需要您想要运行的服务名称,并且只启动正在运行的服务所依赖的服务的容器。使用run运行测试或执行管理任务,如删除或将数据添加到数据卷容器。run命令的作用类似docker run -ti,因为它向容器的退出状态,并返回与容器中的进程。

docker-compose start命令仅对重新启动容器有用以前创建但已停止的。它从不创造新的集装箱。

Docker Compose中的uprunstart之间有什么区别

  • docker-compose up:构建,(重新)创建启动容器。它还连接到服务的容器
  • docker-compose run:根据业务需求运行一次性或临时任务。这里,必须提供服务名称,并且docker只启动特定服务,还启动目标服务所依赖的其他服务(如果有的话)。它有助于测试容器以及执行任务
  • docker-compose start:启动已停止的容器,无法创建新容器

最新更新