使用docker更新麋鹿图像

问题描述

我正在使用docker-compose文件运行elk服务,但是我正在运行版本 7.5 的elk堆栈,并且我想将其更新 7.8 strong>没有停止服务。我尝试了docker-compose pull,但是它无法拉 elasticsearch logstash和kibana 的最新映像,我尝试了另一种方法,即使用 docker pull 命令,然后在docker-compose

中更新映像名称后

docker-compose.yml

version: "3.3"
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.5.0
    container_name: elasticsearch
    environment:
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
    volumes:
      - elasticsearch:/usr/share/elasticsearch/data
    secrets:
      - source: elasticsearch.yml
        target: /usr/share/elasticsearch/config/elasticsearch.yml
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nproc: 20480
      nofile:
        soft: 160000
        hard: 160000
    logging:
      driver: "json-file"
      options:
        max-file: "9"
        max-size: "6m"
    restart: always
    ports:
      - 9200:9200
    networks:
      - esnet
  kibana:
    image: docker.elastic.co/kibana/kibana:7.5.0
    container_name: kibana
    depends_on:
      - elasticsearch
    restart: always
    logging:
      driver: "json-file"
      options:
        max-file: "9"
        max-size: "6m"
    secrets:
      - source: kibana.yml
        target: /usr/share/kibana/config/kibana.yml
    networks:
      - esnet
  logstash:
    image: docker.elastic.co/logstash/logstash:7.5.0
      container_name: logstash
    volumes:
      - ./logstash/pipeline:/usr/share/logstash/pipeline
      - ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
      - ./logstash/config/jvm.options:/usr/share/logstash/config/jvm.options
      - ./logstash/plugins:/usr/share/logstash/plugins
    restart: always
    logging:
      driver: "json-file"
      options:
        max-file: "9"
        max-size: "6m"
    networks:
      - esnet

当docker-compose pull命令不起作用时,我尝试了此操作

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.8.0
docker pull docker.elastic.co/kibana/kibana:7.8.0
docker pull docker.elastic.co/logstash/logstash:7.8.0

此后,我对docker-compose文件进行了一些更改,我更改了映像版本,以便docker-compose命令无需花费时间来下载映像,因此我已经提取了最新映像

version: "3.3"
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.8.0

最后我用了这个命令 docker-compose restart

解决方法

您不能那样做。当您要更新映像时,必须从所需的新映像中运行另一个容器。 Docker不支持此功能。您只能通过更改图像名称然后再次向上的方式手动更新。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...