【问题标题】:Running Command "docker-compose run web ..." creates a new container in Kitematic container list运行命令“docker-compose run web ...”在 Kitematic 容器列表中创建一个新容器
【发布时间】:2016-07-05 22:02:58
【问题描述】:

每次我运行命令“docker-compose run web ...”时,都会将另一个容器添加到 Kitematic,这样每次运行时我都有一个容器列表,例如“image-name_web_run_1”等等码头工人撰写。

这是预期的行为吗?如果是这样,我该如何解决?

【问题讨论】:

    标签: docker docker-compose kitematic


    【解决方案1】:

    这是预期的。您可以使用docker-compose run --rm 在容器退出时将其移除。

    您可以使用docker-compose downdocker-compose rm -a 清理这些旧容器。

    【讨论】:

    • 非常感谢!
    【解决方案2】:

    你是说新容器吗?这是docker-compose run 的预期行为,请参阅:https://docs.docker.com/compose/reference/run/

    您的意思是使用docker-compose exec 吗? 例如,docker-compose exec web /bin/sh 见:https://docs.docker.com/compose/reference/exec/

    【讨论】:

    • 我试图直接从命令行运行容器命令。是的,我的意思是容器。
    • 要运行容器命令,您可以使用 docker-compose exec 例如,docker-compose exec web /bin/sh 相当于 docker exec -ti web /bin/sh。请参阅:docs.docker.com/compose/reference/exec。 (已更新答案以反映您的评论。)
    • 如果您尝试在正在运行的容器上运行命令,那么您正在寻找docker exec(或docker-compose exec)。 docker-compose run --rm 将创建和销毁一个临时容器,它更昂贵并且可能有一些副作用。在基本情况下,它们几乎会做同样的事情,所以这可能并不重要——这取决于你想要做什么。
    猜你喜欢
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多