我正在使用docker-compose版本2.我正在使用docker-compose -p some_name up -d
启动容器并尝试使用docker-compose stop
杀死它们。这些命令以0
代码退出,但容器仍然正常运行。
这是版本的预期行为吗?如果是的话,任何想法如何解决它?
我的docker-compose.yml
文件看起来像这样
version: '2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0
ports:
- "9200:9200"
environment:
ES_JAVA_OPTS: "-Xmx512m -Xms512m"
xpack.security.enabled: "false"
xpack.monitoring.enabled: "false"
xpack.graph.enabled: "false"
xpack.watcher.enabled: "false"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 262144
hard: 262144
kafka-server:
image: spotify/kafka
environment:
- TOPICS=my-topic
ports:
- "9092:9092"
test:
build: .
depends_on:
- elasticsearch
- kafka-server
更新
我发现问题是由使用-p
参数并为容器提供显式前缀引起的。仍在寻找解决问题的最佳方法。
答案 0 :(得分:0)
尝试通过SIGKILL
发送docker-compose -p some_name kill
来强制停止正在运行的容器。
我只是在通过-p
时阅读并尝试了compose CLI envs中的内容。
您必须将-p some_name
传递给kill
容器,否则compose
会假设目录名称为
如果这有帮助,请告诉我。
答案 1 :(得分:0)
docker-compose -p [project_name] stop
适用于我的情况。我遇到了同样的问题。