【发布时间】:2016-07-05 22:02:58
【问题描述】:
每次我运行命令“docker-compose run web ...”时,都会将另一个容器添加到 Kitematic,这样每次运行时我都有一个容器列表,例如“image-name_web_run_1”等等码头工人撰写。
这是预期的行为吗?如果是这样,我该如何解决?
【问题讨论】:
标签: docker docker-compose kitematic
每次我运行命令“docker-compose run web ...”时,都会将另一个容器添加到 Kitematic,这样每次运行时我都有一个容器列表,例如“image-name_web_run_1”等等码头工人撰写。
这是预期的行为吗?如果是这样,我该如何解决?
【问题讨论】:
标签: docker docker-compose kitematic
这是预期的。您可以使用docker-compose run --rm 在容器退出时将其移除。
您可以使用docker-compose down 或docker-compose rm -a 清理这些旧容器。
【讨论】:
你是说新容器吗?这是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 将创建和销毁一个临时容器,它更昂贵并且可能有一些副作用。在基本情况下,它们几乎会做同样的事情,所以这可能并不重要——这取决于你想要做什么。