Docker共通ミドルウェアのインストール

1 はじめに

この記事では、主に mysql、gitlab、nacos、redis、xxljob、zipkin、sentinel、seata、rocketMQ、jenkins、oracle、zookeeper、kafaka など、一般的に使用されるさまざまなミドルウェア インストール チュートリアルを docker を使用してインストールする方法を詳しく紹介します。
注意:以下の操作はすべて docker に基づいています。docker がインストールされていない場合は、「Linux-CentOS7 に docker をインストールする」を参照してください。

2. ミドルウェアのインストール

2.1、mysql

sudo docker run \
-d \
-p 3306:3306 \
-v /usr/local/mysql/conf:/etc/mysql/conf.d \
-v /usr/local/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=xiashiman6688# \
--restart always \
--name mysql \
mysql:5.6.47

2.2、gitlabコンテナ

sudo docker run \
-itd \
-p 9980:80 \
-p 9922:22 \
-v /usr/local/Gitlab/etc:/etc/gitlab \
-v /usr/local/Gitlab/log:/var/log/gitlab \
-v /usr/local/Gitlab/opt:/var/opt/gitlab \
--restart always \
--privileged=true \
--name gitlab \
gitlab/gitlab-ce

ここに画像の説明を挿入

2.3、ナコス

docker run \
    --name nacos \
    -d \
    -p 8848:8848 \
    -p 9848:9848 \
    -p 9849:9849 \
    --restart=always \
    -e JVM_XMS=256m \
    -e JVM_XMX=256m \
    -e MODE=standalone \
    -v /usr/local/nacos/logs:/home/nacos/logs \
    -v /usr/local/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
    nacos/nacos-server:v2.1.0

2.4、リディス

docker run \
--restart=always \
--log-opt max-size=100m \
--log-opt max-file=2 \
-p 6379:6379 \
--name redis \
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/data:/data \
-d redis:5.0.7 \
redis-server /etc/redis/redis.conf \
--appendonly yes \
–restart=always 总是开机启动
–log是日志方面的
-p 6379:6379 将6379端口挂载出去
–name 给这个容器取一个名字
-v 数据卷挂载
/home/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
/home/redis/myredis/data:/data 这个同上
-d redis:版本号 表示后台启动哪个版本的redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf
–appendonly yes 开启redis 持久化
–requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置

2.5、xxlジョブ

docker run \
-e PARAMS="--spring.datasource.url=jdbc:mysql://43.138.106.84:3306/xxl_job_dev?Unicode=true&characterEncoding=UTF-8 \
--spring.datasource.username=xxljob \
--spring.datasource.password=xxljob" \
-p 8080:8080 \
-v /tmp:/data/applogs \
--name xxl-job-admin \
--restart=always \
-d xuxueli/xxl-job-admin:2.3.1

2.6、ジップキン

docker run \
-e PARAMS="--spring.datasource.url=jdbc:mysql://localhost:3306/zipkin?Unicode=true&characterEncoding=UTF-8 \
--spring.datasource.username=root \
--spring.datasource.password=123456" \
-p 9411:9411 \
--name zipkin \
--restart=always \
-d openzipkin/zipkin:2.12.9

2.7、番兵

docker run \
--name sentinel \
--restart=always \
-p 8858:8858 \
-v /usr/local/sentinel_home:/home/sentinel_home \
-d bladex/sentinel-dashboard:1.8.0 

2.8、セット

2.8.1. 画像の取得

docker pull seataio/seata-server

2.8.2. コンテナを実行して設定を取得する

Seata 構成の変更を容易にするために、最初に Seata-server を実行し、次に構成をホストにコピーし、完了後に以前の構成を削除して、ホスト経由でコンテナーを実行する必要があります。

docker run \
-d \
--restart always  \
--name  seata-server \
-p 8091:8091  \
-v /usr/local/seata:/seata-server \
seataio/seata-server:1.5.1

2.9、ロッカーMQ

2.9.1、rockerMQ-namesrv

docker run \
-d \
--name rocketmq-namesrv \
--network rocketmq \
--restart=always \
-p 9876:9876 \
-v /usr/local/rocketmq/namesrv/logs:/root/logs \
-v /usr/local/rocketmq/namesrv/store:/root/store \
apache/rocketmq:4.9.3 sh \
mqnamesrv 

設定ファイルのパス: /usr/local/rocketmq/broker/conf/broker.conf

2.9.2、rockerMQブローカー

docker run \
-d \
--name rocketmq-broker \
--network rocketmq \
--restart=always \
-p 10909:10909 \
-p 10911:10911 \
-v /usr/local/rocketmq/broker/logs:/root/logs \
-v /usr/local/rocketmq/broker/store:/root/store \
-v /usr/local/rocketmq/broker/conf:/home/rocketmq/rocketmq-4.9.3/conf \
-e "JAVA_OPT_EXT=-server -Xms256m -Xmx700m" apache/rocketmq:4.9.3 sh mqbroker \
-c /usr/local/rocketmq/broker/conf/broker.conf 

不指定内存:(-e那行换成如下)
apache/rocketmq:4.9.3 sh mqbroker 

2.9.3、rockerMQコンソール

docker run \
-d \
--name rocketmq-console \
--network rocketmq \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=rocketmq-namesrv:9876 \
-Dcom.rocketmq.sendMessageWithVIPChannel=false" \
-p 8000:8080 \
--restart=always \
apacherocketmq/rocketmq-dashboard:latest

2.10、ジェンキンス

docker run \
-itd \
--name jenkins \
-p 8829:8080 \
-p 50000:50000 \
--restart always \
-e JAVA_OPTS=-Duser.timezone=Asia/Shanghai -v /usr/soft/jenkins_home:/var/jenkins_home \
//-v  /usr/local/maven/apache-maven-3.6.3:/usr/local/maven \
-v /etc/localtime:/etc/localtime \
jenkinszh/jenkins-zh

2.11. Oracle の起動

docker run \
-d \
-p 1521:1521 \
--name oracle11g \
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g \
-v /usr/local/oracle/product/11.2.0/dbhome_2:/home/oracle/app/oracle/product/11.2.0/dbhome_2

コンテナの起動ステータスを確認します: docker ps | grep oracle11g
構成のために oracle11g コンテナを入力します: docker exec -it oracle11g bash 構成の
ために root ユーザーに切り替えます: su root パスワードを入力します: helowin
プロファイル ファイルを編集します ORACLE 環境変数を構成します: vi / etc/profile 、次の内容を追加し、保存して終了して構成を有効にしますsource /etc/profile

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

ソフト接続を作成します: ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
oracle ユーザーに切り替えます: su - oracle
sqlplus にログインし、sys および system ユーザーのパスワードを変更します。

sqlplus /nolog	# 登录
conn /as sysdba # 连接
alter user system identified by system; # 修改system密码为system
alter user sys identified by sys; # 修改sys密码为sys
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
exit;

Oracle インスタンスのステータスを確認します: lsnrctl status
ここに画像の説明を挿入

2.12、カフカ

2.12.1. Kafkaコンテナの起動

docker run \
-d \
--restart=always \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2 \
--name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=120.53.12.20:2181/kafka \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://120.53.12.20:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-v /usr/local/kafka/etc/localtime:/etc/localtime \
wurstmeister/kafka

2.12.2. パラメータの説明:

  • -e KAFKA_BROKER_ID=0 : kafka クラスターでは、各 kafka はそれ自体を区別する BROKER_ID を持ちます。
  • -e KAFKA_ZOOKEEPER_CONNECT=192.168.244.132:2181/kafka : Zookeeper 管理の Kafka パス 172.16.0.13:2181/kafka を構成します。
  • -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.244.132:9092 : kafkaのアドレスとポートをzookeeperに登録します リモートアクセスの場合はJavaプログラムアクセスなど接続できない外部ネットワークIPに変更する必要があります。
  • -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 : Kafka のリスニング ポートを構成します
  • -v /etc/localtime:/etc/localtime : コンテナーの時刻同期仮想マシンの時刻

2.12.3. Kafkaが使用できるかどうかを確認する

1. コンテナーに入ります: docker exec -it kafka bash
2. /opt/kafka_2.12-2.3.0/bin/ ディレクトリーに入ります: cd /opt/kafka_2.13-2.8.1/bin/
3. kafka を実行します。プロデューサー メッセージの送信: ./kafka-console-Producer.sh --broker-list localhost:9092 --topic sun
4. メッセージの送信: {"datas":[{"channel":"","metric":"temperature) " , "Producer": "ijinus", "sn": "IJA0101-00002245", "time": "1543207156000", "value": "80"}], "ver": "1.0"} 5.新しい
ウィンドウで、kafka コンシューマーを実行してメッセージを受信します。 ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic sun --from-beginning
执行完上诉命令后,在生产者窗口中 输入任意内容回车,即可在消费者的窗口查看到消息

2.12.4、kafka管理プラットフォーム

docker pull docker.io/sheepkiller/kafka-manager


docker run \
-it \
-d \
--rm \
-p 9000:9000 \
-e ZK_HOSTS="120.53.12.20:2181" \
--net=host \
sheepkiller/kafka-manager

おすすめ

転載: blog.csdn.net/wmj20001225/article/details/132635557