次のコマンドを使用して、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 イメージを使用し続けながらこれを行うにはどうすればよいですか?
1
これは、Elasticsearch、Logstash、Kibana を別のコンテナー (場合によっては mana) で実行する十分な理由になります。Docker Compose によって生成されます。その後、必要なソフトウェアの特定のユニットのイメージ バージョンを更新するだけです。そのイメージの Dockerfile を取得し、そこにインストールされているバージョンを更新し、docker build を再実行して更新する必要があります。
– デヴィッド・メイズ
2020 年 9 月 3 日 16:45
また、Kibana のマイナー バージョンは Elasticsearch のマイナー バージョンと一致する必要があります。elasticsearch を 7.9.X にアップグレードする場合は、Kibana も 7.9.X にアップグレードする必要があります。
– レアンドロイプ
2020 年 9 月 3 日 18:08
イメージのバージョンを変更し、「docker-compose up」で再起動するだけでうまくいきました。これは正式なアップグレード推奨ではないことに注意してください。
– ロビークール
2021 年 7 月 20 日 13:45
------------------------
Elk はパッケージを起動し、3 つのサービスをすべて実行し、デフォルトでそれらをリンクします。この設定では、elasticsearch のみを分割してアップグレードすることはできません。
docker-compose を使用して、3 つのサービスすべてを個別に実行することをお勧めします。これにより、各サービスに選択したイメージを含めることができます。
サンプル 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:
2
次のエラーが発生します: >エラー: elasticsearch のサービス elasticsearch を開始できません: OCI ランタイムの作成に失敗しました:container_linux.go:344:コンテナ プロセスの開始により "process_linux.go:424:コンテナの初期化により \"rootfs_linux.go:58:マウント \\\" が発生しました。 /local/home/user/elasticsearch/config/elasticsearch.yml\\\" rootfs \\\"/net/server/.../merged\\\" にコピーします。 \\\"/net/server/.../usr/share/elasticsearch/config/elasticsearch.yml\\\"原因は「そうではない」ディレクトリ\\\"\"": 不明: ディレクトリをファイルにマウントしようとしていますか (またはその逆)?
– アダム・ザーン
2020 年 9 月 9 日 13:54
.yml ファイルがまだ存在しない場合は、ディレクトリとして作成されるようです。
– アダム・ザーン
2020 年 9 月 9 日 14:13