Portainerによるコンテナの管理
Redis のインストール#
まず、公式ウェブサイトから redis.conf ファイルをダウンロードして編集します。#
redis.conf 設定ファイルの変更:
主な設定は以下の通りです:
bind 127.0.0.1 #この部分をコメントアウトして、redisに外部アクセスを許可します
daemonize no #デーモンモードで起動します(yesに設定すると、redisが起動するとすぐに停止します)
requirepass あなたのパスワード#redisにパスワードを設定します
appendonly yes#redisの永続化 デフォルトはnoです
tcp-keepalive 300 #リモートホストが既存の接続を強制的に閉じるエラーを防ぐための設定 デフォルトは300です
ローカルと Docker のマッピングディレクトリを作成します。つまり、ローカルの保存場所です。#
Redis の保存場所を作成します。
カスタマイズすることもできますが、私の Docker のいくつかの設定ファイルはすべて /mydata ディレクトリに保存されているため、後で管理しやすいように /mydata ディレクトリの下に redis ディレクトリを作成します。
mkdir /data/redis
mkdir /data/redis/data
設定ファイルを先ほど作成したディレクトリにコピーします。
ファイルの権限を設定します。#
chmod 777 redis.conf
Redis を起動します。#
docker run -p 6379:6379 --name redis -v /mydata/redis/redis.conf:/etc/redis/redis.conf -v /mydata/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
パラメータの説明:
-p 6379:6379: コンテナ内の 6379 ポートをホストの 6379 ポートにマッピングします
-v /data/redis/redis.conf:/etc/redis/redis.conf:ホストで設定された redis.conf をコンテナ内のこの場所に配置します
-v /data/redis/data:/data:redis の永続化データをホスト内で表示し、データのバックアップを作成します
redis-server /etc/redis/redis.conf:これは重要な設定で、redis を設定なしで起動するのではなく、この redis.conf の設定に従って起動します
–appendonly yes:redis の起動後にデータを永続化します
Elasticsearch7.9.3 のインストール#
Kibana はローカルにインストールすることにしました(サーバーリソースを使用したくない)
- イメージを取得します。
docker pull elasticsearch:7.9.3
- 必要なフォルダとファイルを作成します。
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0">>/mydata/elasticsearch/config/elasticsearch.yml
- フォルダの権限を設定します。
chmod -R 777 /mydata/elasticsearch/
- elasticsearch コンテナを作成して起動します。
docker run --name elasticsearch -p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.9.3
- コンテナを自動起動に設定します。
docker update elasticsearch --restart=always
- IK 中国語トークナイザーをインストールします。
cd /mydata/elasticsearch/plugins/
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.3/elasticsearch-analysis-ik-7.9.3.zip
mkdir ik
unzip -d ik/ elasticsearch-analysis-ik-7.9.3.zip
docker restart elasticsearch
- ポートを解放します。
firewall-cmd --zone=public --add-port=9200/tcp --permanent
systemctl restart firewalld.service
Kafka と Zookeeper のインストール#
掘金チュートリアル
Kafka のインストール
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=サーバーのIP:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://サーバーのIP:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -e KAFKA_HEAP_OPTS="-Xmx256M -Xms128M" -t wurstmeister/kafka