同步操作将从 zhengqingya/docker-compose 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
通过docker-compose编排一系列环境进行一键快速部署运行,小白运维神器。
# 通过yum源安装docker
sudo yum -y install docker
# 启动docker
sudo systemctl start docker
# 开机自启
sudo systemctl enable docker
docker-compose
安装# 安装EPEL软件包
sudo yum -y install epel-release
# 安装pip3
sudo yum install -y python36-pip
# 升级
sudo pip3 install --upgrade pip
# 验证pip3版本
pip3 --version
# docker-compose安装
sudo pip3 install -U docker-compose
# 验证docker-compose版本
docker-compose --version
# 安装补全插件
# curl -L https://raw.githubusercontent.com/docker/compose/1.25.0/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
docker-compose
卸载pip3 uninstall docker-compose
docker-compose
相关命令# 构建镜像
docker-compose build
# 构建镜像,--no-cache表示不用缓存,否则在重新编辑Dockerfile后再build可能会直接使用缓存而导致新编辑内容不生效
docker-compose build --no-cache
# config 校验文件格式是否正确
docker-compose -f docker-compose.yml config
# 运行服务
ocker-compose up -d
# 启动/停止服务
docker-compose start/stop 服务名
# 停止服务
docker-compose down
# 查看容器日志
docker logs -f 容器ID
# 查看镜像
docker-compose images
# 拉取镜像
docker-compose pull 镜像名
# 删除所有容器
docker stop `docker ps -q -a` | xargs docker rm
# 删除所有标签为none的镜像
docker images|grep \<none\>|awk '{print $3}'|xargs docker rmi
# 查找容器IP地址
docker inspect 容器名或ID | grep "IPAddress"
# 创建网段, 名称: mynet, 分配两个容器在同一网段中 (这样子才可以互相通信)
docker network create mynet
docker run -d --net mynet --name container1 my_image
docker run -it --net mynet --name container1 another_image
# 安装git命令: yum install -y git
git clone https://gitee.com/zhengqingya/docker-compose.git
cd docker-compose/Liunx
====================================================================================
========================= ↓↓↓↓↓↓ 环境部署 start ↓↓↓↓↓↓ ====================================
====================================================================================\
docker-compose -f docker-compose-portainer.yml -p portainer up -d
-p:项目名称
-f:指定docker-compose.yml文件路径
-d:后台启动
访问地址:ip地址:9000
# 5.7
docker-compose -f docker-compose-mysql5.7.yml -p mysql5.7 up -d
# 8.0
docker-compose -f docker-compose-mysql8.0.yml -p mysql8.0 up -d
docker-compose -f docker-compose-mysql-master-slave.yml -p mysql-master-slave up -d
# ================== ↓↓↓↓↓↓ 配置主库 ↓↓↓↓↓↓ ==================
# 进入主库
docker exec -it mysql_master /bin/bash
# 登录mysql
mysql -uroot -proot
# 创建用户slave,密码123456
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
# 授予slave用户 `REPLICATION SLAVE`权限和`REPLICATION CLIENT`权限,用于在`主` `从` 数据库之间同步数据
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
# 授予所有权限则执行命令: GRANT ALL PRIVILEGES ON *.* TO 'slave'@'%';
# 使操作生效
FLUSH PRIVILEGES;
# 查看状态
show master status;
# 注:File和Position字段的值slave中将会用到,在slave操作完成之前不要操作master,否则将会引起状态变化,即File和Position字段的值变化 !!!
# +------------------+----------+--------------+------------------+-------------------+
# | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
# +------------------+----------+--------------+------------------+-------------------+
# | mysql-bin.000003 | 769 | | | |
# +------------------+----------+--------------+------------------+-------------------+
# 1 row in set (0.00 sec)
# ================== ↓↓↓↓↓↓ 配置从库 ↓↓↓↓↓↓ ==================
# 进入从库
docker exec -it mysql_slave /bin/bash
# 登录mysql
mysql -uroot -proot
change master to master_host='www.zhengqingya.com',master_port=3306, master_user='slave', master_password='123456', master_log_file='mysql-bin.000003', master_log_pos= 769, master_connect_retry=30;
# 开启主从同步过程 【停止命令:stop slave;】
start slave;
# 查看主从同步状态
show slave status \G
# Slave_IO_Running 和 Slave_SQL_Running 都是Yes的话,就说明主从同步已经配置好了!
# 如果Slave_IO_Running为Connecting,SlaveSQLRunning为Yes,则说明配置有问题,这时候就要检查配置中哪一步出现问题了哦,可根据Last_IO_Error字段信息排错或谷歌…
# *************************** 1. row ***************************
# Slave_IO_State: Waiting for master to send event
# Master_Host: www.zhengqingya.com
# Master_User: slave
# Master_Port: 3306
# Connect_Retry: 30
# Master_Log_File: mysql-bin.000003
# Read_Master_Log_Pos: 769
# Relay_Log_File: c598d8402b43-relay-bin.000002
# Relay_Log_Pos: 320
# Relay_Master_Log_File: mysql-bin.000003
# Slave_IO_Running: Yes
# Slave_SQL_Running: Yes
# Replicate_Do_DB:
# 注意:操作的时候停止主库数据写入
# 在从库查看主从同步状态
docker exec -it mysql_slave /bin/bash
mysql -uroot -proot
show slave status \G
# Slave_IO_Running: Yes
# Slave_SQL_Running: No
# 1、手动同步主从库数据
# 先在从库停止主从同步
stop slave;
# 导出主库数据
mysqldump -h www.zhengqingya.com -P 3306 -uroot -proot --all-databases > /tmp/all.sql
# 导入到从库
mysql -uroot -proot
source /tmp/all.sql;
# 2、开启主从同步
# 查看主库状态 => 拿到File和Position字段的值
docker exec -it mysql_master /bin/bash
mysql -uroot -proot
show master status;
# 从库操作
change master to master_host='www.zhengqingya.com',master_port=3306, master_user='slave', master_password='123456', master_log_file='mysql-bin.000004', master_log_pos= 488117, master_connect_retry=30;
start slave;
# 查看主从同步状态
show slave status \G
# Slave_IO_Running: Yes
# Slave_SQL_Running: Yes
Java语言编写的MySQL数据库网络协议的开源中间件 部署可参考 https://zhengqing.blog.csdn.net/article/details/104700437
docker-compose -f docker-compose-mycat.yml -p mycat up -d
Navicat可视化工具连接参数
mysql -hwww.zhengqingya.com -P8066 -uroot -proot
名称 | 值 |
---|---|
连接名 | mycat_8066 |
主机名或IP地址 | www.zhengqingya.com |
端口 | 8066 |
用户名 | root |
密码 | root |
Mycat可视化运维的管理和监控平台
docker-compose -f docker-compose-mycat-web.yml -p mycat-web up -d
访问地址:ip地址:8082/mycat
docker-compose -f docker-compose-yearning.yml -p yearning up -d
访问地址:ip地址:8000
默认登录账号密码:admin/Yearning_admin
docker-compose -f docker-compose-oracle18c.yml -p oracle18c up -d
docker-compose -f docker-compose-couchbase.yml -p couchbase up -d
管理平台地址:ip地址:8091
默认登录账号密码:Administrator/password
# 当前目录下所有文件赋予权限(读、写、执行)
chmod -R 777 ./redis
# 运行
docker-compose -f docker-compose-redis.yml -p redis up -d
连接redis
docker exec -it redis redis-cli -a 123456 # 密码为123456
docker-compose -f docker-compose-jrebel.yml -p jrebel up -d
默认反代idea.lanyus.com
, 运行起来后
ip地址:8888/UUID
-> 注:UUID可以自己生成,并且必须是UUID才能通过验证 -> UUID在线生成docker-compose -f docker-compose-nginx.yml -p nginx up -d
访问地址:ip地址:80
# 当前目录下所有文件赋予权限(读、写、执行)
chmod -R 777 ./elasticsearch
# 运行
docker-compose -f docker-compose-elasticsearch.yml -p elasticsearch up -d
# 运行后,再次给新创建的文件赋予权限
chmod -R 777 ./elasticsearch
ip地址:9200
默认账号密码:elastic/123456
ip地址:5601/app/dev_tools#/console
默认账号密码:elastic/123456
# 进入容器
docker exec -it elasticsearch /bin/bash
# 设置密码-随机生成密码
# elasticsearch-setup-passwords auto
# 设置密码-手动设置密码
elasticsearch-setup-passwords interactive
# 访问
curl 127.0.0.1:9200 -u elastic:123456
# 修改elastic密码为123456 (注:执行命令时会让认证之前账号密码)
curl -H "Content-Type:application/json" -XPOST -u elastic 'http://127.0.0.1:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "123456" }'
# 当前目录下所有文件赋予权限(读、写、执行)
chmod -R 777 ./elk
# 运行
docker-compose -f docker-compose-elk.yml -p elk up -d
# 若运行之后启动日志再次报相关权限问题,再次给新产生的文件赋予权限
chmod -R 777 ./elk
# 进入容器
docker exec -it elasticsearch /bin/bash
# 设置密码-随机生成密码
# elasticsearch-setup-passwords auto
# 设置密码-手动设置密码
elasticsearch-setup-passwords interactive
轻量型日志采集器,可以将指定日志转发到Logstash、Elasticsearch、Kafka、Redis等中。
docker-compose -f docker-compose-filebeat.yml -p filebeat up -d
# 当前目录下所有文件赋予权限(读、写、执行)
chmod -R 777 ./rabbitmq
# 运行 [ 注:如果之前有安装过,需要清除浏览器缓存和删除rabbitmq相关的存储数据(如:这里映射到宿主机的data数据目录),再重装,否则会出现一定问题! ]
docker-compose -f docker-compose-rabbitmq.yml -p rabbitmq up -d
# 运行3.7.8-management版本
# docker-compose -f docker-compose-rabbitmq-3.7.8-management.yml -p rabbitmq up -d
# 进入容器
docker exec -it rabbitmq /bin/bash
# 启用延时插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
# 查看已安装插件
rabbitmq-plugins list
web管理端:ip地址:15672
登录账号密码:admin/admin
# 当前目录下所有文件赋予权限(读、写、执行)
chmod -R 777 ./rabbitmq-cluster
# 设置Erlang Cookie文件权限(cookie文件必须只允许拥有者有权操作)
chmod 600 ./rabbitmq-cluster/.erlang.cookie
# 运行 [ 注:如果之前有安装过,需要清除浏览器缓存和删除rabbitmq相关的存储数据(如:这里映射到宿主机的data数据目录),再重装,否则会出现一定问题! ]
docker-compose -f docker-compose-rabbitmq-cluster.yml -p rabbitmq-cluster up -d
# 启用延迟插件(注:如果节点类型为内存节点,则无法启用延迟插件)
docker exec rabbitmq-1 /bin/bash -c 'rabbitmq-plugins enable rabbitmq_delayed_message_exchange'
docker exec rabbitmq-2 /bin/bash -c 'rabbitmq-plugins enable rabbitmq_delayed_message_exchange'
# 执行脚本 => 配置集群
sh ./rabbitmq-cluster/init-rabbitmq.sh
# 配置镜像队列(允许内建双活冗余选项,与普通队列不同,镜像节点在集群中的其他节点拥有从队列拷贝,一旦主节点不可用,最老的从队列将被选举为新的主队列)
docker exec -it rabbitmq-1 /bin/bash
rabbitmqctl set_policy -p my_vhost ha-all "^" '{"ha-mode":"all"}' --apply-to all
# 查看镜像队列`ha-all`
rabbitmqctl list_policies -p my_vhost
# 删除镜像队列`ha-all`
rabbitmqctl clear_policy -p my_vhost ha-all
web管理端:ip地址:15672
登录账号密码:admin/admin
docker-compose -f docker-compose-activemq.yml -p activemq up -d
访问地址:ip地址:8161
登录账号密码:admin/admin
docker-compose -f docker-compose-baidupcs-web.yml -p baidupcs-web up -d
访问地址:ip地址:5299
docker-compose -f docker-compose-minio.yml -p minio up -d
访问地址:ip地址:9000/minio
登录账号密码:root/password
# 注:需要修改docker-compose-nacos-mysql.yml 中相关数据库连接信息和JVM参数相关信息
docker-compose -f docker-compose-nacos.yml -p nacos up -d
# mysql数据库版 【 需自己建库`nacos_config`, 并执行`/Liunx/nacos_mysql/nacos-mysql.sql`脚本 】
# nacos1.4.1版本
docker-compose -f docker-compose-nacos-mysql.yml -p nacos up -d
# nacos2.0.3版本
docker-compose -f docker-compose-nacos-mysql-2.0.3.yml -p nacos_v2.0.3 up -d
访问地址:ip地址:8848/nacos
登录账号密码默认:nacos/nacos
注:
docker-compose-nacos-mysql.yml
已开启连接密码安全认证,在java连接时需新增配置如下
spring:
cloud:
nacos:
discovery:
username: nacos
password: nacos
config:
username: ${spring.cloud.nacos.discovery.username}
password: ${spring.cloud.nacos.discovery.password}
# 普通版
docker-compose -f docker-compose-sentinel.yml -p sentinel up -d
# 持久化配置到mysql版
# docker-compose -f docker-compose-sentinel-mysql.yml -p sentinel up -d
访问地址:ip地址:8858
登录账号密码:sentinel/sentinel
docker-compose -f docker-compose-kafka.yml -p kafka up -d
集群管理地址:ip地址:9000
docker-compose -f docker-compose-tomcat.yml -p tomcat up -d
访问地址:ip地址:8081
docker-compose -f docker-compose-gitlab.yml -p gitlab up -d
访问地址:ip地址:10080
默认root账号,密码访问页面时需自己设置
docker-compose -f docker-compose-jenkins.yml -p jenkins up -d
访问地址:ip地址:8080
docker-compose -f docker-compose-nextcloud.yml -p nextcloud up -d
访问地址:ip地址:81
, 创建管理员账号
docker-compose -f docker-compose-walle.yml -p walle up -d && docker-compose -f docker-compose-walle.yml logs -f
访问地址:ip地址:80
初始登录账号如下:
超管:super@walle-web.io \ Walle123
所有者:owner@walle-web.io \ Walle123
负责人:master@walle-web.io \ Walle123
开发者:developer@walle-web.io \ Walle123
访客:reporter@walle-web.io \ Walle123
docker-compose -f docker-compose-grafana.yml -p grafana up -d
访问地址:http://ip地址:3000
默认登录账号密码:admin/admin
# 先授权,否则会报错:`cannot create directory '/var/lib/grafana/plugins': Permission denied`
chmod 777 $PWD/grafana_promtail_loki/grafana/data
chmod 777 $PWD/grafana_promtail_loki/grafana/log
# 运行
docker-compose -f docker-compose-grafana-promtail-loki.yml -p grafana_promtail_loki up -d
访问地址:http://ip地址:3000
默认登录账号密码:admin/admin
docker-compose -f docker-compose-graylog.yml -p graylog_demo up -d
访问地址:http://ip地址:9001
默认登录账号密码:admin/admin
docker-compose -f docker-compose-fastdfs.yml -p fastdfs up -d
# 等待出现如下日志信息:
# [2020-07-24 09:11:43] INFO - file: tracker_client_thread.c, line: 310, successfully connect to tracker server 39.106.45.72:22122, as a tracker client, my ip is 172.16.9.76
# 进入storage容器
docker exec -it fastdfs_storage /bin/bash
# 进入`/var/fdfs`目录
cd /var/fdfs
# 执行如下命令,会返回在storage存储文件的路径信息,然后拼接上ip地址即可测试访问
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.jpg
# ex:
http://www.zhengqingya.com:8888/group1/M00/00/00/rBEAAl8aYsuABe4wAAhfG6Hv0Jw357.jpg
docker-compose -f docker-compose-yapi.yml -p yapi up -d
如下运行成功:
log: mongodb load success...
初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org"
部署成功,请切换到部署目录,输入: "node vendors/server/app.js" 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:3000 访问
log: -------------------------------------swaggerSyncUtils constructor-----------------------------------------------
log: 服务已启动,请打开下面链接访问:
http://127.0.0.1:3000/
log: mongodb load success...
访问地址:http://ip地址:3000
默认登录账号密码:admin@admin.com/ymfe.org
注:修改
xx/rocketmq/rocketmq_broker/conf/broker.conf
中配置brokerIP1
为宿主机IP
docker-compose -f docker-compose-rocketmq.yml -p rocketmq up -d
访问地址:http://ip地址:9002
docker-compose -f docker-compose-xxl-job.yml -p xxl-job up -d
访问地址:http://ip地址:9003/xxl-job-admin
默认登录账号密码:admin/123456
docker-compose -f docker-compose-mongodb.yml -p mongodb up -d
访问地址:http://ip地址:1234
Connection string:mongodb://admin:123456@ip地址:27017
docker-compose -f docker-compose-zookeeper.yml -p zookeeper up -d
可视化界面访问地址:http://ip地址:9090
桌面可视化工具PrettyZoo: https://github.com/vran-dev/PrettyZoo
docker-compose -f docker-compose-flowable.yml -p flowable up -d
可视化界面访问地址:http://ip地址:9004/flowable-ui
默认登录账号密码:admin/test
注:此为未完善版!
docker-compose-prometheus.yml
需修改grafana中配置的mysql连接信息prometheus.yml
自行配置
docker-compose -f docker-compose-prometheus.yml -p prometheus up -d
http://ip地址:3000
默认登录账号密码:admin/admin
http://ip地址:9090
http://ip地址:9100/metrics
它有助于收集对服务架构中的延迟问题进行故障排除所需的计时数据。功能包括收集和查找这些数据。 注:记得创建相应zipkin库和表
docker-compose -f docker-compose-zipkin.yml -p zipkin up -d
启动成功日志如下:
oo
oooo
oooooo
oooooooo
oooooooooo
oooooooooooo
ooooooo ooooooo
oooooo ooooooo
oooooo ooooooo
oooooo o o oooooo
oooooo oo oo oooooo
ooooooo oooo oooo ooooooo
oooooo ooooo ooooo ooooooo
oooooo oooooo oooooo ooooooo
oooooooo oo oo oooooooo
ooooooooooooo oo oo ooooooooooooo
oooooooooooo oooooooooooo
oooooooo oooooooo
oooo oooo
________ ____ _ _____ _ _
|__ /_ _| _ \| |/ /_ _| \ | |
/ / | || |_) | ' / | || \| |
/ /_ | || __/| . \ | || |\ |
|____|___|_| |_|\_\___|_| \_|
:: version 2.23.2 :: commit 7bf3aab ::
2021-08-30 16:33:27.414 INFO [/] 1 --- [oss-http-*:9411] c.l.a.s.Server : Serving HTTP at /[0:0:0:0:0:0:0:0%0]:9411 - http://127.0.0.1:9411/
可视化界面访问地址:http://ip地址:9411/zipkin
docker-compose -f docker-compose-rancher.yml -p rancher up -d
访问地址:http://ip地址:80
# 运行
docker-compose -f docker-compose-seata.yml -p seata up -d
# 查看日志
docker exec -it seata_server sh
一款静态代码质量分析工具,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,而且能够集成在IDE、Jenkins、Git等服务中,方便随时查看代码质量分析报告。
docker-compose -f docker-compose-sonarqube.yml -p sonarqube up -d
# mysql配置版
# docker-compose -f docker-compose-sonarqube6.7.1.yml -p sonarqube up -d
访问地址:http://ip地址:9005
默认登录账号密码:admin/admin
==============================================================================
======================== ↑↑↑↑↑↑ 环境部署 end ↑↑↑↑↑↑ ================================
==============================================================================\
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。