Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何升级ELK Docker图像中的elasticsearch_Docker_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Elk - Fatal编程技术网 elasticsearch,elk,Docker,elasticsearch,Elk" /> elasticsearch,elk,Docker,elasticsearch,Elk" />

如何升级ELK Docker图像中的elasticsearch

如何升级ELK Docker图像中的elasticsearch,docker,elasticsearch,elk,Docker,elasticsearch,Elk,我已使用以下命令在Linux服务器上安装了elk docker映像: sudo docker pull sebp/elk 这将获取最新版本的elk docker映像,即7.8.0,堆栈中的每个服务(elasticsearch,logstash,以及kibana)也有7.8.0版 出于安全原因,我需要将elasticsearch升级到7.9.0。如何在继续使用sebp/elkdocker映像的同时做到这一点?elk打开包,运行所有3个服务,并默认链接它们。使用此设置,您不能仅拆分和升级elast

我已使用以下命令在Linux服务器上安装了elk docker映像:

sudo docker pull sebp/elk
这将获取最新版本的elk docker映像,即7.8.0,堆栈中的每个服务(
elasticsearch
logstash
,以及
kibana
)也有7.8.0版


出于安全原因,我需要将elasticsearch升级到7.9.0。如何在继续使用
sebp/elk
docker映像的同时做到这一点?

elk打开包,运行所有3个服务,并默认链接它们。使用此设置,您不能仅拆分和升级elasticsearch

我建议您使用docker compose独立运行这三个服务。这样每个服务都可以有您选择的图像

docker compose示例供您参考:

version: '3.2'

services:
  elasticsearch:
    image: IMAGE_GOES_HERE
    volumes:
      - type: bind
        source: ./elasticsearch/config/elasticsearch.yml
        target: /usr/share/elasticsearch/config/elasticsearch.yml
        read_only: true
      - type: volume
        source: elasticsearch
        target: /usr/share/elasticsearch/data
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      ES_JAVA_OPTS: "-Xmx256m -Xms256m"
      ELASTIC_PASSWORD: changeme
      # Use single node discovery in order to disable production mode and avoid bootstrap checks
      # see https://www.elastic.co/guide/en/elasticsearch/reference/current/bootstrap-checks.html
      discovery.type: single-node
    networks:
      - elk

  logstash:
    image: IMAGE_GOES_HERE
    volumes:
      - type: bind
        source: ./logstash/config/logstash.yml
        target: /usr/share/logstash/config/logstash.yml
        read_only: true
      - type: bind
        source: ./logstash/pipeline
        target: /usr/share/logstash/pipeline
        read_only: true
    ports:
      - "5000:5000/tcp"
      - "5000:5000/udp"
      - "9600:9600"
    environment:
      LS_JAVA_OPTS: "-Xmx256m -Xms256m"
    networks:
      - elk
    depends_on:
      - elasticsearch

  kibana:
    image: IMAGE_GOES_HERE
    volumes:
      - type: bind
        source: ./kibana/config/kibana.yml
        target: /usr/share/kibana/config/kibana.yml
        read_only: true
    ports:
      - "5601:5601"
    networks:
      - elk
    depends_on:
      - elasticsearch

networks:
  elk:
    driver: bridge

volumes:
  elasticsearch:

这是在单独的容器中运行Elasticsearch、Logstash和Kibana的一个很好的理由,可能由Docker Compose管理;然后,您可以只为您需要的特定软件单元更新映像版本。您必须获取该映像的Dockerfile,更新其中安装的版本,然后重新运行
docker build
以更新它。此外,Kibana次要版本必须与Elasticsearch次要版本匹配,如果您将elasticsearch升级到7.9.X,您还需要将Kibana升级到7.9.X。我收到以下错误:>错误:对于elasticsearch无法启动服务elasticsearch:OCI运行时创建失败:container_linux.go:344:启动容器进程导致的“process_linux.go:424:container init导致的\”rootfs_linux.go:58:装载\\\“/local/home/user/elasticsearch/config/elasticsearch.yml\\\”到rootfs\\\”/net/server/../merged\\\\“at\\\”/net/server/../usr/share/elasticsearch/config/elasticsearch.yml\\\”导致\\\\\\\\\“不是目录\\\\”:未知:您是否正在尝试将目录装载到文件上(反之亦然)?它似乎将
.yml
文件创建为目录(如果它们还不存在)。