Docker中安装常用的中间件全过程

 防火墙端口开放命令:

开启端口命令  (--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
### 重新载入
firewall-cmd --reload
### 查询端口
firewall-cmd --zone=public --query-port=80/tcp
### 删除端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
### 查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports

Docker安装Redis

docker search redis

docker pull redis:7.0

mkdir -p /docker/redis/conf
mkdir -p /docker/redis/data
cd /docker/redis/conf
touch redis.conf
vim redis.conf
输入 i 进入插入模式
添加redis.conf配置内容如下:
		# Redis 配置文件示例
		appendonly yes
		requirepass 479368
		maxclients 10000
ESC :wq ENTER   退出保存

docker run -d \
--name redis \
-p 6378:6379 \
redis:7.0

docker cp redis:/data /docker/redis

docker rm -f redis

docker run -d \
--name redis \
-p 6378:6379 \
-e JVM_XMS=64 \
-e JVM_XMX=256 \
-v /docker/redis/data:/data \
-v /docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
redis:7.0 redis-server /usr/local/etc/redis/redis.conf

--appendonly yes  是否持久化
--requirepass 479368   设置密码
redis-server /etc/redis/redis.conf 以指定路径的配置启动redis

最后使用redis连接客户端连接测试

Dockers安装Mysql

docker pull mysql:8.0.32

docker run -d \
--name mysql \
-p 3306:3306 \
-e JVM_XMS=128m \
-e JVM_XMX=512m \
-e MYSQL_ROOT_PASSWORD=479368 \
mysql:8.0.32

mkdir -p /docker/mysql/conf
mkdir -p /docker/mysql/data

docker cp mysql:/etc/mysql/conf.d /docker/mysql/conf
docker cp mysql:/var/lib/mysql /docker/mysql/data

docker rm -f mysql

docker run -d \
--name mysql \
-p 3306:3306 \
-e JVM_XMS=128m \
-e JVM_XMX=512m \
-e MYSQL_ROOT_PASSWORD=479368 \
-v /docker/mysql/conf/conf.d:/etc/mysql/conf.d \
-v /docker/mysql/data/mysql:/var/lib/mysql \
mysql:8.0.32

Docker安装Nacos

docker pull nacos/nacos-server:1.4.1
docker run -d \
--name nacos-1.4.1 \
-p 8848:8848 \
-e JVM_XMS=128m \
-e JVM_XMX=512m \
-e MODE=standalone \
nacos/nacos-server:1.4.1

mkdir -p /docker/nacos/nacos-1.4.1/logs
mkdir -p /docker/nacos/nacos-1.4.1/conf
mkdir -p /docker/nacos/nacos-1.4.1/data

docker cp nacos-1.4.1:/home/nacos/logs /docker/nacos/nacos-1.4.1
docker cp nacos-1.4.1:/home/nacos/conf /docker/nacos/nacos-1.4.1
docker cp nacos-1.4.1:/home/nacos/data /docker/nacos/nacos-1.4.1

docker rm -f nacos-1.4.1

docker run -d \
--name nacos-1.4.1 \
-p 8848:8848 \
-e JVM_XMS=128m \
-e JVM_XMX=512m \
-e MODE=standalone \
-v /docker/nacos/nacos-1.4.1/logs:/home/nacos/logs \
-v /docker/nacos/nacos-1.4.1/conf:/home/nacos/conf \
-v /docker/nacos/nacos-1.4.1/data:/home/nacos/data \
nacos/nacos-server:1.4.1

http://192.168.56.10:8848/nacos
docker pull nacos/nacos-server:v2.2.0
docker run -d \
--name nacos-2.2.0 \
-p 8849:8848 \
-e JVM_XMS=128m \
-e JVM_XMX=512m \
-e MODE=standalone \
nacos/nacos-server:v2.2.0

mkdir -p /docker/nacos/nacos-2.2.0/logs
mkdir -p /docker/nacos/nacos-2.2.0/conf
mkdir -p /docker/nacos/nacos-2.2.0/data

docker cp nacos-2.2.0:/home/nacos/logs /docker/nacos/nacos-2.2.0
docker cp nacos-2.2.0:/home/nacos/conf /docker/nacos/nacos-2.2.0
docker cp nacos-2.2.0:/home/nacos/data /docker/nacos/nacos-2.2.0

docker rm -f nacos-2.2.0

docker run -d \
--name nacos-2.2.0 \
-p 8849:8848 \
-p 9848:9848 \
-p 9849:9849 \
-e JVM_XMS=128m \
-e JVM_XMX=512m \
-e MODE=standalone \
-v /docker/nacos/nacos-2.2.0/logs:/home/nacos/logs \
-v /docker/nacos/nacos-2.2.0/conf:/home/nacos/conf \
-v /docker/nacos/nacos-2.2.0/data:/home/nacos/data \
nacos/nacos-server:v2.2.0

http://192.168.56.10:8849/nacos

 从Nacos2.0.0开始,需要多开放两个个9848、9849端口,以应对gRPC的通信方式,如果不开放绑定,那么客户端微服务无法注册到Nacos,会直接报错。Client not connected, current status:STARTING

Nacos数据持久化

1、新建Nacos配置数据库,取名为nacos-config,并为该数据库设置允许远程访问权限

2、向nacos-config中导入官方提供的数据结构脚本

3、启动nacos

4、使用命令 docker exec -it nacos /bin/bash 进入nacos容器内部

5、执行如下命令:

docker exec -it nacos /bin/bash
cd conf
vim application.properties

进入编辑页面后,按下 i 键进入插入模式,修改指定配置项如下:

### 数据源持久化配置
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.56.10:3306/nacos-config?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
db.user=nacos
db.password=479368

修改完以上配置后,按下 ESC 键退出插入模式,然后输入 :wq  然后按 Enter 键

 Docker安装Sentinel

docker run -d \
--name sentinel-dashboard \
-p 8858:8858 \
-e port=8859 \
-e server=localhost:8080 \
-e name=sentinel-dashboard \
-e username=sentinel \
-e password=sentinel \
-v /opt/sentinel/logs:/root/logs/csp/aeert/sentinel-dashboard:latest

 Docker安装Elasticsearch

docker pull elasticsearch:8.6.1

#笔记 9200 用于所有通过HTTP协议进行的API调用,客户端和服务端的通信端口,9300 用于集群中各节点之间的通信

#启动镜像
docker run -d \
--name=es8 \
-p 9200:9200 \
-p 9300:9300 \
-e JVM_XMS=128m \
-e JVM_XMX=512m \
-e "discovery.type=single-node" \
elasticsearch:8.6.1

#创建挂在目录
mkdir -p /docker/elasticsearch

#文件拷贝
docker cp es8:/usr/share/elasticsearch/logs /docker/elasticsearch
docker cp es8:/usr/share/elasticsearch/config /docker/elasticsearch
docker cp es8:/usr/share/elasticsearch/data /docker/elasticsearch
docker cp es8:/usr/share/elasticsearch/plugins /docker/elasticsearch

docker rm -f es8

docker run -d \
--name=es8 \
-p 9200:9200 \
-p 9300:9300 \
-e JVM_XMS=128m \
-e JVM_XMX=512m \
-e "discovery.type=single-node" \
-v /docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /docker/elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /docker/elasticsearch/config:/usr/share/elasticsearch/config \
-v /docker/elasticsearch/data:/usr/share/elasticsearch/data \
elasticsearch:8.6.1

#验证安装是否成功
http://192.168.56.10:9200

Docker安装Kibana

docker pull kibana:8.6.1

#运行kibana 注意IP一定不要写错
docker run -d \
--name kibana8 \
-p 5601:5601 \
-e JVM_XMS=128m \
-e JVM_XMX=512m \
-e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 \
kibana:8.6.1

mkdir -p /docker/kibana

docker cp kibana:/usr/share/kibana/config /docker/kibana
docker rm -f kibana8

docker run -d \
--name kibana8 \
-p 5601:5601 \
-e JVM_XMS=128m \
-e JVM_XMX=512m \
-e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 \
-v /docker/kibana/config:/usr/share/kibana/config \
kibana:8.6.1

#验证是否成功
http://192.168.56.10:5601

Kibana界面汉化

在kibana.yml配置文件中添加 i18n.locale: "zh-CN" 配置项后重载服务即可

vim /docker/kibana/config/kibana.yml 

如果遇到kibana一直显示server is not ready yet,可参考此博客

Docker安装SkyWalking

docker pull apache/skywalking-oap-server:latest

docker run -d \
--name skywalking-oap \
-p 11800:11800 \
-p 12800:12800 \
apache/skywalking-oap-server:latest

mkdir -p /docker/skywalking/oap-server/config
docker cp skywalking-oap:/skywalking/config /docker/skywalking/oap-server
docker rm -f skywalking-oap

docker run -d \
--name skywalking-oap \
-p 11800:11800 \
-p 12800:12800 \
-e JVM_XMS=128m \
-e JVM_XMX=512m \
-e TZ=Asia/Shanghai \
-e SW_STORAGE=elasticsearch7 \
-e SW_STORAGE_ES_CLUSTER_NODES=192.168.56.10:9200 \
-v /docker/skywalking/oap-server/config:/skywalking/config \
--link es:es \
apache/skywalking-oap-server:8.7.0-es7


# 安装可视化界面
docker pull apache/skywalking-ui:latest

docker run -d \
--name skywalking-ui \
--privileged=true \
-p 8092:8080 \
-e TZ=Asia/Shanghai \
-e SW_OAP_ADDRESS=http://192.168.56.10:12800 \
--link skywalking-oap:skywalking-oap \
apache/skywalking-ui:latest

docker rm -f skywalking-ui

docker run -d \
--name skywalking-ui \
--privileged=true \
-p 8092:8080 \
-e JVM_XMS=128m \
-e JVM_XMX=512m \
-e TZ=Asia/Shanghai \
-e SW_OAP_ADDRESS=http://192.168.56.10:12800 \
--link skywalking-oap:skywalking-oap \
apache/skywalking-ui:latest

访问地址:http://192.168.56.10:8092

你可能感兴趣的:(docker,中间件,redis)