docker-compose up和docker-compose start有什么区别?

Mic*_*uve 104 docker docker-compose

每当我执行

docker-compose start 
docker-compose ps
Run Code Online (Sandbox Code Playgroud)

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

docker-compose up -d
Run Code Online (Sandbox Code Playgroud)

我会看到更多的冗长,但它将具有相同的状态.两个命令之间有什么区别吗?

小智 148

docker-compose start

启动服务的现有容器.

码头工人组成

构建,(重新)创建,启动和附加到服务的容器.

链接服务将启动,除非它们已在运行.

默认情况下,docker-compose up将聚合每个容器的输出,当它退出时,所有容器都将被停止.运行docker-compose up -d,将在后台启动容器并让它们继续运行.

默认情况下,如果服务存在现有容器,则docker-compose up将停止并重新创建它们(使用volumes-from保留已装入的卷),以便拾取docker-compose.yml中的更改.如果您不希望停止并重新创建容器,请使用docker-compose up --no-recreate.如果需要,这仍将启动任何已停止的容器.

资料来源:https://docs.docker.com/v1.5/compose/cli/

我希望它有所帮助

  • 更新了指向docker-compose CLI参考的链接:https://docs.docker.com/compose/reference/ * docker-compose up:https://docs.docker.com/compose/reference/up/ * docker-compose start :https://docs.docker.com/compose/reference/start/ (2认同)

Mos*_*ael 10

Docker Compose 中的uprun和有什么区别?start

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


Sup*_*eth 6

在docker 常见问题中,这很清楚地解释了:

启动,运行和启动之间有什么区别?

通常,您需要docker-compose up。用完启动或重新启动中定义的所有服务docker-compose.yml。在默认的“附加”模式下,您会看到来自所有容器的所有日志。在“分离”模式(-d)中,启动容器后,Compose退出,但是容器继续在后台运行。

docker-compose run命令用于运行“一次性”或“临时”任务。它需要您要运行的服务名称,并且仅启动正在运行的服务所依赖的服务的容器。使用运行来运行测试或执行管理任务,例如将数据删除或添加到数据卷容器。run命令的行为类似于docker run -ti,它打开了容器的交互式终端,并返回与容器中进程的退出状态匹配的退出状态。

docker-compose start命令仅对重新启动先前创建但已停止的容器有用。它永远不会创建新的容器。

  • restart 命令与 run、start、up 有何不同? (3认同)