# 安装Docker
yum -y install docker
# 开机自启
systemctl enable docker
# 启动Docker
systemctl start docker
# 查看Docker版本
docker -v
# 配置加速仓库
cd /etc/docker/
ls
cat daemon.json
vim daemon.json
# 修改如下并wq保存
{
"registry-mirrors": ["https://32xw0apq.mirror.aliyuncs.com"]
}
# 重启Docker
systemctl restart docker
# Mysql镜像地址:https://hub.docker.com/_/mysql
# name 容器名称
# -p 外部端口:容器内部端口
# -d mysql镜像版本 自动拉取
# 中文编码 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=密码 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
# 查看docker镜像
docker ps
# 放行3307端口 阿里云/腾讯云安全策略 或者物理机防火墙开放端口
# Redis镜像地址 http://hub.docker.com/_/redis
# -p 外部端口:docker内部端口
docker run --name redis -p 6380:6379 -d redis
# 查看是否有redis
docker ps
# 设置redis密码
# 进入redis容器
docker exec -it redis bash
cd /usr/local/bin/
ls
# 连接redis客户端
./redis-cli
# 查看之前有没有密码值
CONFIG GET requirepass
# 设置密码值
CONFIG SET requirepass 密码值
# 退出redis
exit
# 查看
docker ps
# 安全策略或者防火墙放行6380端口
# rocketmq-namesrv 镜像地址 : https://hub.docker.com/r/rocketmqinc/rocketmq-namesrv
# rocketmq-broker 镜像地址 : https://hub.docker.com/r/rocketmqinc/rocketmq-broker
# rocketmq-console-ng 镜像地址 : https://hub.docker.com/r/rocketmqinc/rocketmq-console-ng
# 安装namesrv
docker run --name namesrv -p 9876:9876 -e "MAX_POSSIBLE_HEAP=100000000" -d rocketmqinc/rocketmq sh mqnamesrv
# 查看namesrv IP地址
docker inspect namesrv | grep IPA
# 安装broker
# 因broker需要注册到namesrv,并被外部调用,故需要配置公网地址
# 创建文件夹
cd /usr/local/
ls
mkdir rocketmq
cd rocketmq/
# 创建配置文件
vi broker.cof
# 填写以下配置内容并wq保存退出 brokerIP1 = 121.40.140.138 最重要为设置公网地址
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = 121.40.140.138
# 查看文件
cat broker.conf
# 安装broker
# -p 分别指定两个端口
# -v 代表挂载目录,把linux一个文件挂载到容器当中
# -e 配置namesrv的链接地址以及最大堆大小
# -d 运行一个镜像
# -c 指定配置文件运行mqbroker
docker run --name broker -p 10911:10911 -p 10909:10909 -v /usr/local/rocketmq/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf --link namesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HELP=200000000" -d rocketmqinc/rocketmq:4.4.0 sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
# 安全策略或者防火墙放行端口 8080 10911 10909
# 安装console
docker run --name=rocketmq-console -e "JAVA_OPTS=-Drocketmq.namesrv.addr=121.40.140.138:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 -d styletang/rocketmq-consloe-ng
# 查看RocketMq控制台 Ip:8080 http://121.40.140.138:8080
# 镜像地址 https://hub.docker.com/_/mongo
# 选操 删除已有mongo
docker rm -f mongo
#安装mongo
docker run --name mongo -p 27017:27017 -d mongo --auth
# 设置密码
# 进入mongo容器 admin本次操作的数据库
docker exec -it mongo mongo admin
# 设置密码
db.createUser({user:'admin',pwd:'123456',roles:[{role:'userAdminAnyDatabase',db:'admin'}]});
# 放行端口 27017
# 镜像地址 https://hub.docker.com/nacos/nacos-server
# 安装Nacos-Server
# MODE暂设置为单机模式
docker run --name nacos -e MODE=standalone -p 8848:8848 -d nacos/nacos-server:1.1.4
# 放行端口8848
# 访问nacos页面: 121.40.140.138:8848/nacos/ 用户密码 nacos/nacos
# 镜像地址 : https://hub.docker.com/r/bladex/sentinel-dashboard
# 安装sentinel-Dashboard
docker run --name sentinel -p 8858:8858 -d bladex/sentinel-dashboard
# 放行8858端口
# 访问测试 http://121.40.140.138:8858/ 用户密码: sentinel/sentinel
# 镜像地址 https://hub.docker.com/r/seataio/seata-server
# 安装seata-server
# -e 设置公网IP地址
docker run --name seata-server -p 8091:8091 -e SEATA_IP=120.40.140.138 -d seataio/seata-server
# 放行8091端口
# 查看运行镜像
docker ps
# ping端口 yum -y install telnet
telnet 121.40.1140.138 8091