在docker-compose -p <name>之后,docker-compose停止工作

时间:2017-04-20 11:15:19

标签: docker docker-compose

我正在使用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参数并为容器提供显式前缀引起的。仍在寻找解决问题的最佳方法。

2 个答案:

答案 0 :(得分:0)

尝试通过SIGKILL发送docker-compose -p some_name kill来强制停止正在运行的容器。

docker-compose kill

我只是在通过-p时阅读并尝试了compose CLI envs中的内容。

您必须将-p some_name传递给kill容器,否则compose会假设目录名称为

如果这有帮助,请告诉我。

答案 1 :(得分:0)

docker-compose -p [project_name] stop适用于我的情况。我遇到了同样的问题。