【问题标题】:What is the difference between docker-compose up and docker-compose start?docker-compose up 和 docker-compose start 有什么区别?
【发布时间】:2016-02-16 09:04:13
【问题描述】:

每当我执行时

docker-compose start 
docker-compose ps

我看到状态为“UP”的容器。如果我这样做了

docker-compose up -d

我会看到更多详细信息,但它会具有相同的状态。这两个命令有什么区别吗?

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

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

    为服务启动现有容器。

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

    为服务构建、(重新)创建、启动和附加到容器。

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

    docker-compose up 命令聚合每个容器的输出 (基本上运行docker-compose logs -f)。当命令退出时, 所有容器都停止。运行 docker-compose up -d 启动 容器在后台运行。

    如果存在服务的现有容器,并且该服务的 容器创建后配置或图像被更改, docker-compose up 通过停止并重新创建 容器(保留已安装的卷)。为了防止撰写 拿起更改,使用--no-recreate 标志。

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

    【讨论】:

    【解决方案2】:

    在 docker Frequently asked questions 里面解释的很清楚:

    启动、运行和启动有什么区别?

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

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

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

    【讨论】:

    • 重启命令与这些命令有何不同 - 运行、启动、启动?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 2018-10-18
    • 2018-05-12
    • 2018-12-18
    • 1970-01-01
    • 2022-01-16
    相关资源
    最近更新 更多