【问题标题】:Re using existing volume at docker-compose ELK stack重新使用 docker-compose ELK 堆栈中的现有卷
【发布时间】:2019-04-04 05:38:23
【问题描述】:

我正在尝试重新使用现有的 ES 卷,其中包含几天的日志。 但无法弄清楚如何。对 docker-compose 的经验几乎为零。

在尝试运行 docker-compose up 时,我得到:

ERROR: for elasticsearch  Cannot start service elasticsearch: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:245: running exec setns process for init caused \"exit status 17\""
Starting kibana ... error

ERROR: for kibana  Cannot start service kibana: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:245: running exec setns process for init caused \"exit status 17\""


ERROR: for elasticsearch  Cannot start service elasticsearch: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:245: running exec setns process for init caused \"exit status 17\""


ERROR: for kibana  Cannot start service kibana: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:245: running exec setns process for init caused \"exit status 17\""

ERROR: Encountered errors while bringing up the project.

这是我的规格:

version: "3"
services:
  nginx:
    image: nginx:alpine
    container_name: nginx
    command: nginx -g "daemon off;"
    volumes:
    - ./nginx/config/conf.d:/etc/nginx/conf.d
    ports:
      - "8080:8080"
    links:
      - kibana

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.7.0
    container_name: elasticsearch
    environment:
      - "ES_JAVA_OPTS=-Xms6g-Xmx6g"
    volumes:
      - ./elasticsearch:/usr/share/elasticsearch/data
    ports:
      - "9200:9200"
      - "9300:9300"

  logstash:
    build: logstash/
    command: logstash -f /etc/logstash/conf.d/logstash.conf
    container_name: logstash
    environment:
      - "LS_JAVA_OPTS=-Xmx256m -Xms256m"

    volumes:
      - ./logstash/config:/etc/logstash/conf.d
    ports:
      - "5000:5000"
      - "5044:5044"
    links:
      - elasticsearch

  kibana:
    build: kibana/
    container_name: kibana
    volumes:
      - ./kibana/config:/opt/kibana/config
    ports:
      - "5601:5601"

volumes:
  elasticsearch:
    driver: local

另外,我尝试过:

volumes:
  elasticsearch:
    driver: local
    driver_opts:
      type: 'none'
      o: 'bind'
      device: '/myfolder/elasticsearch/storage/'

版本:

docker-compose version 1.18.0, build 8dd22a9

我创建了卷:

docker volume create elasticsearch

并尝试删除该 /var/lib/docker/volumes/xxxxx 文件夹并对我的卷进行符号链接,但没有这样做。

有可能吗?我将卷连接到主机,没有其他东西在运行,也没有旧的图像/卷。它将只有 ELK 堆栈,其中包含此卷,其中包含现有数据。

谢谢

【问题讨论】:

  • 可以自己启动elasticsearch吗:docker run -it docker.elastic.co/elasticsearch/elasticsearch:6.7.0
  • 不,尝试了前一个,结果相同:docker run -it docker.elastic.co/elasticsearch/elasticsearch:6.6.1 /usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:245: running exec setns process for init caused \"exit status 17\"".
  • 我怀疑您的 docker 安装有问题。可以启动其他容器吗?
  • 必须升级内核,使用 3.10,现在使用 5,它可以工作,我更喜欢这样做而不是降级 docker 版本。我正在运行 centos 7。我现在正在尝试让它运行,kibana 是“无法创建 Kibana 索引“.kibana””和“Elasticsearch 插件是红色的”。

标签: docker elastic-stack


【解决方案1】:

由于我们无法重新索引附加卷的数据,我们决定从头开始,更新版本,构建另一个 docker-compose 文件并让 filebeat 从服务器中获取日志文件。不利的一面是,这些导入的日志是从它们导入的日期开始的,但其中一个字段有一个带有实际日期的时间戳。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-25
    • 2020-05-18
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 2022-07-15
    • 1970-01-01
    相关资源
    最近更新 更多