做ppt音乐模板下载网站,做游戏装备网站可以吗,国外摄影网站,哪个网站开发好Docker常用应用部署
一、Ubuntu系统Docker快速安装 Docker官网安装文档#xff1a;https://docs.docker.com/engine/install/ubuntu/ # 文本处理的流编辑器 -i直接修改读取的文件内容#xff0c;而不是输出到终端
# sed -i s/原字符串/新字符串/ /home/1.txt
# 下面这个是修…Docker常用应用部署
一、Ubuntu系统Docker快速安装 Docker官网安装文档https://docs.docker.com/engine/install/ubuntu/ # 文本处理的流编辑器 -i直接修改读取的文件内容而不是输出到终端
# sed -i s/原字符串/新字符串/ /home/1.txt
# 下面这个是修改ubuntu的源
sudo sed -i s/cn.archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list
# 更新
sudo apt update -y
sudo apt install curl
# 抓取docker安装脚本到一个文件中
curl -fsSL get.docker.com -o get-docker.sh
# 执行脚本通过脚本下载 推荐设置阿里云镜像下载加速 默认管理员登陆不加sudo有警告就忽略
sudo sh get-docker.sh --mirror Aliyun#解决每次输入sudo问题
# 将当前用户加入到docker组这样每次使用就不需要sudo了
sudo gpasswd -a ${USER} docker
# 更新用户组,这样才能生效
newgrp - docker
sudo service docker restart#加速器
# 加速器网址https://www.daocloud.io/mirror#accelerator-doc可能有时会失效
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
# 查看配置文件自己添加加速器
vi /etc/docker/daemon.json
# {registry-mirrors: [http://hub-mirror.c.163.com]}# 下面地址任选一种就好
#腾讯云的镜像地址
https://mirror.ccs.tencentyun.com
#网易的镜像地址
http://hub-mirror.c.163.com
#下面的地址是假的需要自己去阿里云 的容器镜像服务-》镜像加速器去复制自己的镜像地址
https://xxxx.mirror.aliyuncs.com
#daocloud发布的镜像地址
http://f1361db2.m.daocloud.io
# 最后要重启
sudo systemctl restart docker.service
# 安装ssh
sudo apt install openssh-server#docker-compose
# 在官网下载符合条件的https://github.com/docker/compose/releases
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose
# wget也可以使用来下载
mv /usr/local/bin/docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 记得添加权限
chmod x /usr/local/bin/docker-compose# 放在bin目录下在其他位置可以直接使用
sudo mv /usr/local/bin/docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 第二种方法
sudo install docker-compose-linux-x86_64 /usr/local/bin/docker-compose
docker-compose ps#
# 2023/6/20可用源
# 编辑 Docker 配置文件
sudo vim /etc/docker/daemon.json
{registry-mirrors: [https://dockerproxy.com,https://hub-mirror.c.163.com,https://mirror.baidubce.com,https://ccr.ccs.tencentyun.com]
}
# 方法一采用 systemctl 来重启推荐
sudo systemctl daemon-reload
sudo systemctl restart docker
# 方法二采用 service 来重启
sudo service docker restart
# 文本处理的流编辑器 -i直接修改读取的文件内容而不是输出到终端
# sed -i s/原字符串/新字符串/ /home/1.txt
# 下面这个是修改ubuntu的源
sudo sed -i s/cn.archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list
# 更新
sudo apt update -y
sudo apt install curl
# 抓取docker安装脚本到一个文件中
curl -fsSL get.docker.com -o get-docker.sh
# 执行脚本通过脚本下载 推荐设置阿里云镜像下载加速 默认管理员登陆不加sudo有警告就忽略
sudo sh get-docker.sh --mirror Aliyun#解决每次输入sudo问题
# 将当前用户加入到docker组这样每次使用就不需要sudo了
sudo gpasswd -a ${USER} docker
# 更新用户组,这样才能生效
newgrp - docker
sudo service docker restart#加速器
# 加速器网址https://www.daocloud.io/mirror#accelerator-doc可能有时会失效
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
# 查看配置文件自己添加加速器
vi /etc/docker/daemon.json
# {registry-mirrors: [http://hub-mirror.c.163.com]}# 下面地址任选一种就好
#腾讯云的镜像地址
https://mirror.ccs.tencentyun.com
#网易的镜像地址
http://hub-mirror.c.163.com
#下面的地址是假的需要自己去阿里云 的容器镜像服务-》镜像加速器去复制自己的镜像地址
https://xxxx.mirror.aliyuncs.com
#daocloud发布的镜像地址
http://f1361db2.m.daocloud.io
# 最后要重启
sudo systemctl restart docker.service
# 安装ssh
sudo apt install openssh-server#docker-compose
# 在官网下载符合条件的https://github.com/docker/compose/releases
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose
# wget也可以使用来下载
mv /usr/local/bin/docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 记得添加权限
chmod x /usr/local/bin/docker-compose# 放在bin目录下在其他位置可以直接使用
sudo mv /usr/local/bin/docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 第二种方法
sudo install docker-compose-linux-x86_64 /usr/local/bin/docker-compose
docker-compose ps#
# 2023/6/20可用源
# 编辑 Docker 配置文件
sudo vim /etc/docker/daemon.json
{registry-mirrors: [https://dockerproxy.com,https://hub-mirror.c.163.com,https://mirror.baidubce.com,https://ccr.ccs.tencentyun.com]
}
# 方法一采用 systemctl 来重启推荐
sudo systemctl daemon-reload
sudo systemctl restart docker
# 方法二采用 service 来重启
sudo service docker restart
二、Docker安装基本应用
1、Tomcat安装
# 指定时区和中文乱码
docker run -d -p 8080:8080 \
--name tomcat \
--restartalways \
-v /home/docker/tomcat/logs/:/usr/local/tomcat/logs/ \
# 这里需要自行创建好webapps内容或者进入容器将webapps.list改成webapps
-v /home/docker/tomcat/webapps/:/usr/local/tomcat/webapps/ \
-v /etc/localtime:/etc/localtime \
-e TZAsia/Shanghai \
-e LANGC.UTF-8 \
tomcat:latest#
docker run --name tomcat -p 8080:8080 \
-v tomcatconf:/usr/local/tomcat/conf \
-v tomcatwebapp:/usr/local/tomcat/webapps \
-d tomcat:jdk8-openjdk-slim-buster
docker-compose部署
version: 3
services:tomcat:image: tomcat:latestcontainer_name: tomcatrestart: alwaysports:- 8080:8080environment:TZ: Asia/ShanghaiLANG: C.UTF-8volumes:- /opt/tomcat/conf/server.xml:/usr/local/tomcat/server.xml- /opt/tomcat/webapps:/usr/local/tomcat/webapps- /opt/tomcat/logs:/usr/local/tomcat/logs2、Nginx安装
# https://www.digitalocean.com/community/tools/nginx
# 注意 外部的/nginx/conf下面的内容必须存在否则挂载会覆盖
docker run -p 80:80 -p 443:443 --name nginx \
-v /usr/local/docker/nginx/html:/usr/share/nginx/html \
-v /usr/local/docker/nginx/logs:/var/log/nginx \
-v /usr/local/docker/nginx/conf/:/etc/nginx \
-d nginx:1.20.1
docker-compose部署
version: 3
services:nginx:container_name: nginximage: nginxrestart: alwaysports:- 80:80- 443:443privileged: truevolumes:- /etc/localtime:/etc/localtime:ro- ./conf/nginx/log/:/var/log/nginx# 注意如下挂载都是覆盖#- ./conf/nginx/conf.d:/etc/nginx/conf.d#- ./conf/nginx/nginx.conf:/etc/nginx/nginx.conf:ro#- ./conf/nginx/html:/usr/share/nginx/html
3、Mysql安装
3.1 单机版安装
# 5.7版本
docker run -p 3306:3306 --name mysql57 \
-v /app/mysql/log:/var/log/mysql \
-v /app/mysql/data:/var/lib/mysql \
-v /app/mysql/conf:/etc/mysql/conf.d \
-v /etc/localtime:/etc/localtime:ro
-e MYSQL_ROOT_PASSWORD123456 \
-d mysql:5.7#8.x版本,引入了 secure-file-priv 机制磁盘挂载将没有权限读写data数据所以需要将权限透传或者
chmod -R 777 /app/mysql/data# --privileged 特权容器容器内使用真正的root用户
docker run -p 3306:3306 --name mysql8 \
-v /app/mysql/conf:/etc/mysql/conf.d \
-v /app/mysql/log:/var/log/mysql \
-v /app/mysql/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime:ro
-e MYSQL_ROOT_PASSWORD123456 \
--privileged \
-d mysql# 针对配置文件新建 my.cnf (/usr/local/mysql/conf)否则中文乱码
[client]
default_character_setutf8
[mysqld]
collation_server utf8_general_ci
character_set_server utf8
docker-compose部署
version : 3
services:mysql:# 容器名container_name: mysql5# 重启策略restart: alwaysimage: mysql:5.7ports:- 3306:3306volumes:# 挂载配置文件# - ./mysql/db/:/docker-entrypoint-initdb.d# 挂载配置文件- ./mysql/conf:/etc/mysql/conf.d# 挂载日志- ./mysql/logs:/logs# 挂载数据- ./mysql/data:/var/lib/mysqlcommand: [mysqld,--innodb-buffer-pool-size80M,--character-set-serverutf8mb4,--collation-serverutf8mb4_unicode_ci,--default-time-zone8:00,--lower-case-table-names1]environment:# root 密码MYSQL_ROOT_PASSWORD: 123456#mysql8.0
version: 3
services:mysql:container_name: mysql8restart: always# 注意8.0以后的问题privileged: trueimage: mysql:8.0volumes:# 挂载配置文件- ./mysql/conf:/etc/mysql/conf.d# 挂载日志- ./mysql/logs:/logs# 挂载数据- ./mysql/data:/var/lib/mysqlcommand:--character-set-serverutf8mb4--collation-serverutf8mb4_general_ci--explicit_defaults_for_timestamptrueenvironment:- TZAsia/Shanghai - LANGC.UTF-8 - MYSQL_ROOT_PASSWORDrootports:- 33106:3306network_mode: bridge
3.2 主从复制
# 1、新建主服务器容器实例3307
docker run -p 3307:3306 --name mysql-master \
-v /usr/local/docker/mysql-master/log:/var/log/mysql \
-v /usr/local/docker/mysql-master/data:/var/lib/mysql \
-v /usr/local/docker/mysql-master/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORDroot -d mysql:5.7# 2、进入/usr/local/docker/mysql-master/conf目录下新建 my.cnf
#
[mysqld]
## 设置server_id同一局域网中需要唯一
server_id101
## 指定不需要同步的数据库名称
binlog-ignore-dbmysql
## 开启二进制日志功能
log-binmall-mysql-bin
## 设置二进制日志使用内存大小事务
binlog_cache_size1M
## 设置使用的二进制日志格式mixed,statement,row
binlog_formatmixed
## 二进制日志过期清理时间。默认值为0表示不自动清理。
expire_logs_days7
## 跳过主从复制中遇到的所有错误或指定类型的错误避免slave端复制中断。
## 如1062错误是指一些主键重复1032错误是因为主从数据库数据不一致
slave_skip_errors1062
## 3、修改完配置后重启master实例
docker restart mysql-master# 4、进入mysql-master容器
docker exec -it mysql-master /bin/bash
mysql -uroot -proot# 5、master容器实例内创建数据同步用户
CREATE USER slave% IDENTIFIED BY 123456;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO slave%;# 6、新建从服务器容器实例3308
docker run -p 3308:3306 --name mysql-slave \
-v /usr/local/docker/mysql-slave/log:/var/log/mysql \
-v /usr/local/docker/mysql-slave/data:/var/lib/mysql \
-v /usr/local/docker/mysql-slave/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORDroot -d mysql:5.7# 7、进入/usr/local/docker/mysql-slave/conf目录下新建my.cnf
#
[mysqld]
## 设置server_id同一局域网中需要唯一
server_id102
## 指定不需要同步的数据库名称
binlog-ignore-dbmysql
## 开启二进制日志功能以备Slave作为其它数据库实例的Master时使用
log-binmall-mysql-slave1-bin
## 设置二进制日志使用内存大小事务
binlog_cache_size1M
## 设置使用的二进制日志格式mixed,statement,row
binlog_formatmixed
## 二进制日志过期清理时间。默认值为0表示不自动清理。
expire_logs_days7
## 跳过主从复制中遇到的所有错误或指定类型的错误避免slave端复制中断。
## 如1062错误是指一些主键重复1032错误是因为主从数据库数据不一致
slave_skip_errors1062
## relay_log配置中继日志
relay_logmall-mysql-relay-bin
## log_slave_updates表示slave将复制事件写进自己的二进制日志
log_slave_updates1
## slave设置为只读具有super权限的用户除外
read_only1
# # 8、修改完配置后重启slave实例
docker restart mysql-slave# 9、在主数据库中查看主从同步状态
docker exec -it mysql-master /bin/bash
mysql -uroot -proot
show master status;
mysql show master status;
------------------------------------------------------------------------------------
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
------------------------------------------------------------------------------------
| mall-mysql-bin.000001 | 617 | | mysql | |
------------------------------------------------------------------------------------
1 row in set (0.00 sec)# 10、在从数据库中配置主从复制
change master to master_host宿主机ip, master_userslave, master_password123456, master_port3307, master_log_filemall-mysql-bin.000001, master_log_pos617, master_connect_retry30;
mysql change master to master_host106.14.76.55, master_userslave, master_password123456, master_port3307, master_log_filemall-mysql-bin.000001, master_log_pos617, master_connect_retry30;
Query OK, 0 rows affected, 2 warnings (0.03 sec)# master_host主数据库的IP地址
# master_port主数据库的运行端口
# master_user在主数据库创建的用于同步数据的用户账号
# master_password在主数据库创建的用于同步数据的用户密码
# master_log_file指定从数据库要复制数据的日志文件通过查看主数据的状态获取File参数
# master_log_pos指定从数据库从哪个位置开始复制数据通过查看主数据的状态获取Position参数
# master_connect_retry连接失败重试的时间间隔单位为秒。 # 11、在从数据库中查看主从同步状态
docker exec -it mysql-slave /bin/bash
mysql -uroot -proot
show slave status \G;# 12、在从数据库中开启主从同步看到Slave_IO_Running和Slave_SQL_Running启动就行
start slave;
4、Redis安装
4.1 单机版安装
# 提前准备好redis.conf文件创建好相应的文件夹。如
port 6379
# 开启redis数据持久化,可选
appendonly yes
# 开启redis验证,可选
requirepass 123
#注释掉,允许redis外地连接
# bind 127.0.0.1
#将daemonize yes注释起来或者 daemonize no设置因为该配置和docker run中-d参数冲突会导致容器一直启动失败
daemonize no #更多配置参照 https://raw.githubusercontent.com/redis/redis/6.0/redis.conf
docker run -p 6379:6379 --name redis \
--privilegedtrue \
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/data:/data -d redis:6.0.8 \
redis-server /etc/redis/redis.conf --appendonly yes
docker-compose部署
version: 3
services:redis:image: redis:6.2.5container_name: redisprivileged: truevolumes:- ../redis/data:/data- ../redis/conf/redis.conf:/usr/local/etc/redis/redis.conf- ../redis/logs:/logscommand: [redis-server,/usr/local/etc/redis/redis.conf]privileged: trueports:- 6379:6379environment:- TZAsia/Shanghairestart: always
4.2 集群安装
# port节点端口
# requirepass设置密码访问时需要验证
# protected-mode保护模式默认值 yes即开启。开启保护模式以后需配置 bind ip 或者设置访问密码关闭保护模式外部网络可以直接访问
# daemonize是否以守护线程的方式启动后台启动默认 no
# appendonly是否开启 AOF 持久化模式默认 no
# cluster-enabled是否开启集群模式默认 no
# cluster-config-file集群节点信息文件
# cluster-node-timeout集群节点连接超时时间
# cluster-announce-ip集群节点 IP
# 注意 如果你想要你的redis集群可以供外网访问这里直接填 服务器的IP 地址即可;如若为了安全只是在服务器内部进行访问这里还需要做一些修改。
# cluster-announce-port集群节点映射端口
# cluster-announce-bus-port集群节点总线端口#shell脚本循环生成配置文件
for port in $(seq 1 6);\
do \
mkdir -p /mydata/redis/node-${port}/conf
touch /mydata/redis/node-${port}/conf/redis.conf
cat EOF/mydata/redis/node-${port}/conf/redis.conf
port 6379
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.38.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done# 首先创建自定义网络
docker network create --driver bridge --subnet 172.38.0.0/24 --gateway 172.38.0.1 redis
#分别启动docker容器shell脚本注意配置文件的生成
for i in $(seq 1 6);\
do \
docker run -p 637${i}:6379 -p 1637${i}:16379 \
--name redis-${i} --privilegedtrue \
-v /mydata/redis/node-${i}/data:/data \
-v /mydata/redis/node-${i}/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 172.38.0.1${i} redis \
redis-server /etc/redis/redis.conf
done# 随机进入一个容器
docker exec -it redis-1 /bin/bash
# 生成集群--cluster-replicas 1 表示为每个master创建一个slave节点
redis-cli --cluster create 172.38.0.11:6379 172.38.0.12:6379 172.38.0.13:6379 172.38.0.14:6379 172.38.0.15:6379 172.38.0.16:6379 --cluster-replicas 1
# 进入客户端
redis-cli -p 6379
# 查看集群结点状况
cluster nodes
# 查看集群信息
cluster info
# 需要进入集群模式否则会报错
redis-cli -p 6379 -c
# 集群会自动计算哈希槽存储位置若主节点宕机从节点会成为主节点
127.0.0.1:6379 set a b
- Redirected to slot [15495] located at 172.38.0.13:6379
OK4.3 主从扩容
# 1、新建6377、6378两个节点新建后启动查看是否8节点,注意配置文件的创建
docker run -p 6377:6379 -p 16377:16379 --name redis-7 --privilegedtrue -v /mydata/redis/node-7/data:/data -v /mydata/redis/node-7/conf/redis.conf:/etc/redis/redis.conf -d --net redis --ip 172.38.0.17 redis redis-server /etc/redis/redis.conf
docker run -p 6378:6379 -p 16378:16379 --name redis-8 --privilegedtrue -v /mydata/redis/node-8/data:/data -v /mydata/redis/node-8/conf/redis.conf:/etc/redis/redis.conf -d --net redis --ip 172.38.0.18 redis redis-server /etc/redis/redis.conf# 2、进入6377容器实例内部
docker exec -it redis-7 /bin/bash# 3、将新增的6377节点(空槽号)作为master节点加入原集群
# redis-cli --cluster add-node 自己实际IP地址:6377 自己实际IP地址:6371
# 6377 就是将要作为master新增节点
# 6371 就是原来集群节点里面的领路人相当于6377找到组织加入集群
# 这里我直接使用了内部网络
redis-cli --cluster add-node 172.38.0.17:6379 172.38.0.11:6379 # 4、检查集群情况第1次
redis-cli --cluster check 172.38.0.11:6379# 5、重新分派槽号
redis-cli --cluster reshard 172.38.0.11:6379# 因为4台16384/44096每台分4分之一
How many slots do you want to move (from 1 to 16384)? 4096
# 172.38.0.17:6379 的id
What is the receiving node ID? 3a732104b11d3cf81d1128def9f0158fb5708ca7
# 输入 all
Source node #1: all# 6、检查集群情况第2次
redis-cli --cluster check 172.38.0.11:6379
172.38.0.11:6379 (9c109831...) - 0 keys | 4096 slots | 1 slaves.
172.38.0.12:6379 (0100361c...) - 0 keys | 4096 slots | 1 slaves.
172.38.0.13:6379 (348dc3b1...) - 0 keys | 4096 slots | 1 slaves.
172.38.0.17:6379 (5d34f842...) - 0 keys | 4096 slots | 0 slaves.
[OK] 0 keys in 4 masters.
0.00 keys per slot on average.Performing Cluster Check (using node 172.38.0.11:6379)
M: 9c109831a0afd33f7c13500caf39d3191a13e0b3 172.38.0.11:6379slots:[1365-5460] (4096 slots) master1 additional replica(s)
M: 0100361c6056686b671f84877af18ffd22b4c428 172.38.0.12:6379slots:[6827-10922] (4096 slots) master1 additional replica(s)
M: 348dc3b13714d0b07236c2ba6c5147f270b08800 172.38.0.13:6379slots:[12288-16383] (4096 slots) master1 additional replica(s)
S: 6fc86fc554f1f939564e6acc346da222a886ab6a 172.38.0.14:6379slots: (0 slots) slavereplicates 348dc3b13714d0b07236c2ba6c5147f270b08800
S: 2a2fe251d41085ec7eb53e9bf4e4c749e5d9dbb9 172.38.0.15:6379slots: (0 slots) slavereplicates 9c109831a0afd33f7c13500caf39d3191a13e0b3
M: 5d34f8422f8b68ea87bd2f8388c686fdbcfdc9a1 172.38.0.17:6379slots:[0-1364],[5461-6826],[10923-12287] (4096 slots) master
S: 9068998c9b5cd5e4cca939738cc42a2954770b47 172.38.0.16:6379slots: (0 slots) slavereplicates 0100361c6056686b671f84877af18ffd22b4c428
[OK] All nodes agree about slots configuration.Check for open slots...Check slots coverage...
[OK] All 16384 slots covered.## 为什么172.38.0.17是3个新的区间以前的还是连续
## 重新分配成本太高所以前3家各自匀出来一部分从三个旧节点分别匀出1364个坑位给新节点172.38.0.17 # 7、为主节点172.38.0.17分配从节点172.38.0.18
# redis-cli --cluster add-node ip:新slave端口 ip:新master端口 --cluster-slave --cluster-master-id 新主机节点ID
redis-cli --cluster add-node 172.38.0.18:6379 172.38.0.17:6379 --cluster-slave --cluster-master-id 3a732104b11d3cf81d1128def9f0158fb5708ca7 # 8、检查集群情况第3次
redis-cli --cluster check 172.38.0.18:6379
4.4 主从缩容
# 1、将172.38.0.17和172.38.0.18下线
# 2、检查集群情况 获得172.38.0.18的从节点ID
redis-cli --cluster check 172.38.0.11:6379# 3、将172.38.0.18从节点删除 从集群中将4号从节点172.38.0.18删除
# redis-cli --cluster del-node ip:从机端口 从机6388节点ID
redis-cli --cluster del-node 172.38.0.18:6379 bdf8a5114bbad6d400aa8b1a5e3f29b174d6676e
## 检查一下发现只剩下7台机器了
redis-cli --cluster check 172.38.0.11:6379# 4、将172.38.0.17的槽号清空重新分配本例将清出来的槽号都给172.38.0.11
redis-cli --cluster reshard 172.38.0.11:6379How many slots do you want to move (from 1 to 16384)?4096
# 172.38.0.11的id
What is the receiving node ID? edf165b5d01f1a1f276237517d391c86c32d9f93
# 172.38.0.17的id
Source node #1: 3a732104b11d3cf81d1128def9f0158fb5708ca7
Source node #2: done# 5、检查集群情况第二次
redis-cli --cluster check 172.38.0.11:6379
# 4096个槽位都指给172.38.0.11它变成了8192个槽位相当于全部都给172.38.0.11了不然要输入3次一锅端 # 6、将172.38.0.17删除
# redis-cli --cluster del-node ip:端口 172.38.0.17节点ID
redis-cli --cluster del-node 172.38.0.17:6379 3a732104b11d3cf81d1128def9f0158fb5708ca7# 7、检查集群情况第三次
redis-cli --cluster check 172.38.0.11:63795、MongoDB安装
version: 3
services:mongo:image: mongo:5.0.9container_name: mongorestart: alwaysports:- 27017:27017volumes:- /etc/localtime:/etc/localtime #时区- ../mongodb/data/db:/data/db #数据- ../mongodb/log:/var/log/mongodb # 挂载日志目录# - ./config:/etc/mongo #配置目录privileged: trueenvironment:MONGO_INITDB_ROOT_USERNAME: rootMONGO_INITDB_ROOT_PASSWORD: rootmongo-express:image: mongo-express:0.54container_name: mongo-expressrestart: alwaysports:- 8079:8081environment:ME_CONFIG_MONGODB_ADMINUSERNAME: rootME_CONFIG_MONGODB_ADMINPASSWORD: rootME_CONFIG_MONGODB_URL: mongodb://root:rootmongo:27017/
添加管理员
数据库用户角色read、readWrite;数据库管理角色dbAdmin、dbOwner、userAdmin集群管理角色clusterAdmin、clusterManager、clusterMonitor、hostManager备份恢复角色backup、restore所有数据库角色readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase超级用户角色root系统超级用户的访问dbOwner 、userAdmin、userAdminAnyDatabase
# 登录并切换db到admin
$ docker exec -it mongo mongo admin# 登录root用户,如果前面没有创建root用户可跳过此步db.auth(root,123456)# 创建所有数据库管理用户 admin/123456db.createUser({user:admin,pwd: 123456,roles:[{role:userAdminAnyDatabase, db:admin}, readWriteAnyDatabase]});
# Successfully added user: { ...# 使用新用户登录返回 0失败 1成功db.auth(admin, 123456)
# 1# 创建测试库use testdb
# 插入测试数据db.testdb.insert({name:testdb})
# 创建用户并授权dbOwner代表数据库所有者角色拥有最高该数据库最高权限。db.createUser({ user:user_testdb, pwd:123456, roles: [{ role:readWrite, db:testdb }] })# 退出数据库exit
6、MiniO安装
version: 3
services:minio:image: minio/minio:RELEASE.2022-03-26T06-49-28Zhostname: minioports:- 9000:9000 # api 端口- 9001:9001 # 控制台端口environment:MINIO_ACCESS_KEY: root #管理后台用户名MINIO_SECRET_KEY: rootroot #管理后台密码最小8个字符volumes:- ../minio/data:/data #映射当前目录下的data目录至容器内/data目录- ../minio/config:/root/.minio/ #映射配置目录command: server --console-address :9001 /data #指定容器中的目录 /dataprivileged: truerestart: alwayslogging:options:max-size: 50M # 最大文件上传限制max-file: 10driver: json-file7、Nacos安装
# 外置数据库
version: 3
services:nacos:image: nacos/nacos-server:${NACOS_VERSION}container_name: nacos-standalone-mysqlenv_file:- ../nacos/nacos-standlone-mysql.envvolumes:- ../nacos/standalone-logs/:/home/nacos/logs- ../nacos/init.d/custom.properties:/home/nacos/init.d/custom.propertiesports:- 8848:8848- 9848:9848- 9555:9555restart: always
设置配置文件
# 同级目录下的.env
NACOS_VERSIONv2.0.4# ../nacos/nacos-standlone-mysql.env
PREFER_HOST_MODEhostname
MODEstandalone
SPRING_DATASOURCE_PLATFORMmysql
MYSQL_SERVICE_HOST192.168.31.28
MYSQL_SERVICE_DB_NAMEnacos
MYSQL_SERVICE_PORT3306
MYSQL_SERVICE_USERroot
MYSQL_SERVICE_PASSWORDroot
MYSQL_SERVICE_DB_PARAMcharacterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseSSLfalse8、其他常用软件
Docker安装基本应用
最全的Docker-compose应用部署 文章转载自: http://www.morning.jxjrm.cn.gov.cn.jxjrm.cn http://www.morning.kqfdrqb.cn.gov.cn.kqfdrqb.cn http://www.morning.sjbpg.cn.gov.cn.sjbpg.cn http://www.morning.gcjhh.cn.gov.cn.gcjhh.cn http://www.morning.kwyq.cn.gov.cn.kwyq.cn http://www.morning.fdlyh.cn.gov.cn.fdlyh.cn http://www.morning.rmlz.cn.gov.cn.rmlz.cn http://www.morning.ljzqb.cn.gov.cn.ljzqb.cn http://www.morning.plqqn.cn.gov.cn.plqqn.cn http://www.morning.hlzpb.cn.gov.cn.hlzpb.cn http://www.morning.wmfmj.cn.gov.cn.wmfmj.cn http://www.morning.cjcry.cn.gov.cn.cjcry.cn http://www.morning.prhfc.cn.gov.cn.prhfc.cn http://www.morning.yjqkk.cn.gov.cn.yjqkk.cn http://www.morning.nqrfd.cn.gov.cn.nqrfd.cn http://www.morning.sypzg.cn.gov.cn.sypzg.cn http://www.morning.hlrtzcj.cn.gov.cn.hlrtzcj.cn http://www.morning.hcqpc.cn.gov.cn.hcqpc.cn http://www.morning.htmhl.cn.gov.cn.htmhl.cn http://www.morning.bqxxq.cn.gov.cn.bqxxq.cn http://www.morning.pkmw.cn.gov.cn.pkmw.cn http://www.morning.kpxnz.cn.gov.cn.kpxnz.cn http://www.morning.pgkpt.cn.gov.cn.pgkpt.cn http://www.morning.azxey.cn.gov.cn.azxey.cn http://www.morning.rbsmm.cn.gov.cn.rbsmm.cn http://www.morning.plkrl.cn.gov.cn.plkrl.cn http://www.morning.dsprl.cn.gov.cn.dsprl.cn http://www.morning.qyllw.cn.gov.cn.qyllw.cn http://www.morning.kxnnh.cn.gov.cn.kxnnh.cn http://www.morning.mznqz.cn.gov.cn.mznqz.cn http://www.morning.dxqfh.cn.gov.cn.dxqfh.cn http://www.morning.gthwz.cn.gov.cn.gthwz.cn http://www.morning.rcyrm.cn.gov.cn.rcyrm.cn http://www.morning.xmrmk.cn.gov.cn.xmrmk.cn http://www.morning.mspkz.cn.gov.cn.mspkz.cn http://www.morning.qgwpx.cn.gov.cn.qgwpx.cn http://www.morning.dtnjr.cn.gov.cn.dtnjr.cn http://www.morning.qnypp.cn.gov.cn.qnypp.cn http://www.morning.jlnlr.cn.gov.cn.jlnlr.cn http://www.morning.xnrgb.cn.gov.cn.xnrgb.cn http://www.morning.fgtls.cn.gov.cn.fgtls.cn http://www.morning.bjndc.com.gov.cn.bjndc.com http://www.morning.qkdcb.cn.gov.cn.qkdcb.cn http://www.morning.rxrw.cn.gov.cn.rxrw.cn http://www.morning.caswellintl.com.gov.cn.caswellintl.com http://www.morning.nlzpj.cn.gov.cn.nlzpj.cn http://www.morning.nlqmp.cn.gov.cn.nlqmp.cn http://www.morning.rqxmz.cn.gov.cn.rqxmz.cn http://www.morning.zfyfy.cn.gov.cn.zfyfy.cn http://www.morning.thzwj.cn.gov.cn.thzwj.cn http://www.morning.bnwlh.cn.gov.cn.bnwlh.cn http://www.morning.rfrx.cn.gov.cn.rfrx.cn http://www.morning.bnfjh.cn.gov.cn.bnfjh.cn http://www.morning.jzmqk.cn.gov.cn.jzmqk.cn http://www.morning.csjps.cn.gov.cn.csjps.cn http://www.morning.qkgwx.cn.gov.cn.qkgwx.cn http://www.morning.juju8.cn.gov.cn.juju8.cn http://www.morning.mcpdn.cn.gov.cn.mcpdn.cn http://www.morning.xiaobaixinyong.cn.gov.cn.xiaobaixinyong.cn http://www.morning.hkpn.cn.gov.cn.hkpn.cn http://www.morning.pmftz.cn.gov.cn.pmftz.cn http://www.morning.bpmfq.cn.gov.cn.bpmfq.cn http://www.morning.ggcjf.cn.gov.cn.ggcjf.cn http://www.morning.cbchz.cn.gov.cn.cbchz.cn http://www.morning.hngmg.cn.gov.cn.hngmg.cn http://www.morning.wtcd.cn.gov.cn.wtcd.cn http://www.morning.jrlxz.cn.gov.cn.jrlxz.cn http://www.morning.sqqdy.cn.gov.cn.sqqdy.cn http://www.morning.ymwny.cn.gov.cn.ymwny.cn http://www.morning.smpb.cn.gov.cn.smpb.cn http://www.morning.kkwgg.cn.gov.cn.kkwgg.cn http://www.morning.nyjgm.cn.gov.cn.nyjgm.cn http://www.morning.bsjxh.cn.gov.cn.bsjxh.cn http://www.morning.lxhrq.cn.gov.cn.lxhrq.cn http://www.morning.gyzfp.cn.gov.cn.gyzfp.cn http://www.morning.ytnn.cn.gov.cn.ytnn.cn http://www.morning.kxrld.cn.gov.cn.kxrld.cn http://www.morning.mwrxz.cn.gov.cn.mwrxz.cn http://www.morning.fgwzl.cn.gov.cn.fgwzl.cn http://www.morning.gpcy.cn.gov.cn.gpcy.cn