目录

安装portainer

安装mysql单机版

安装mysql主从复制

安装redis单机版

安装redis集群(3主3从)

安装ES

docker安装kafka

docker安装nacos

docker安装canal-server

docker安装Sentinel

docker安装Skywalking

docker安装Kibana

docker安装seata

docker安装sqlserver


安装portainer

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /dockerData/portainer:/data --restart=always --name portainer portainer/portainer

安装mysql单机版

新建my.cnf

[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
default_authentication_plugin=mysql_native_password log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复

安装mysql

docker run -d -p 3306:3306 --name mysql --net=host -m 500m --privileged=true -v /usr/docker/mysql/log:/var/log/mysql -v /usr/docker/mysql/data:/var/lib/mysql -v /usr/docker/mysql/conf:/etc/mysql/conf.d  -e MYSQL_ROOT_PASSWORD=root -e TZ=Asia/Shanghai mysql:8.0.21 --lower_case_table_names=1docker exec -it mysql /bin/bashmysql -hlocalhost -uroot -p

安装mysql主从复制

新建主服务器容器实例3307

docker run -d -p 3307:3306 --name mysql-master --net=host -m 500m --privileged=true -v /usr/docker/mysql/log:/var/log/mysql -v /usr/docker/mysql/data:/var/lib/mysql -v /usr/docker/mysql/conf:/etc/mysql/conf.d  -e MYSQL_ROOT_PASSWORD=root -e TZ=Asia/Shanghai mysql:8.0.21 --lower_case_table_names=1

配置master的配置文件my.cnf

[mysqld]
## 设置server_id,同一局域网中需要唯一
server_id=101
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql
## 开启二进制日志功能
log-bin=mall-mysql-bin
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间。默认值为0,表示不自动清理。
expire_logs_days=7
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062

修改完配置后重启master实例

docker restart mysql-master

进入mysql-master容器

docker exec -it mysql-master /bin/bashmysql -uroot -p

安装redis单机版

docker run -d -p 6379:6379 --restart always --name redis --net host --privileged=true  -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data  redis:6.0.8 --cluster-enabled no --appendonly yes 

安装redis集群(3主3从)

新建6个docker容器redis实例

docker run -d --restart always --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381
docker run -d --restart always --name redis-node-2 --net host --privileged=true -v /data/redis/share/redis-node-2:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6382
docker run -d --restart always --name redis-node-3 --net host --privileged=true -v /data/redis/share/redis-node-3:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6383
docker run -d --restart always --name redis-node-4 --net host --privileged=true -v /data/redis/share/redis-node-4:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6384
docker run -d --restart always --name redis-node-5 --net host --privileged=true -v /data/redis/share/redis-node-5:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6385
docker run -d --restart always --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386

进入容器redis-node-1并为6台机器构建集群关系

docker exec -it redis-node-1 /bin/bash//注意,进入docker容器后才能执行一下命令,且注意自己的真实IP地址
--cluster-replicas 1 表示为每个master创建一个slave节点redis-cli --cluster create 192.168.1.200:6381 192.168.1.200:6382 192.168.1.200:6383 192.168.1.200:6384 192.168.1.200:6385 192.168.1.200:6386 --cluster-replicas 1

链接进入6381作为切入点,查看集群状态

redis-cli -p 6381cluster infocluster nodesredis-cli --cluster check 192.168.1.200:6381

安装ES

docker pull elasticsearch:7.12.0创建docker容器挂在的目录:
mkdir -p /usr/docker/elasticsearch/config
mkdir -p /usr/docker/elasticsearch/data
mkdir -p /usr/docker/elasticsearch/plugins配置文件:
echo "http.host: 0.0.0.0" >> /usr/docker/elasticsearch/config/elasticsearch.yml保证挂载文件权限:
chmod -R 777 /usr/docker/elasticsearch/创建容器:
docker run -d --name elasticsearch -p 9200:9200  -p 9300:9300 \-e "discovery.type=single-node" \-e ES_JAVA_OPTS="-Xms84m -Xmx512m" \-v /usr/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \-v /usr/docker/elasticsearch/data:/usr/share/elasticsearch/data \-v /usr/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \-d elasticsearch:7.12.0

docker安装kafka

先安装zookeeper
docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper安装kafka
docker run  -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.1.200:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.200:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

docker安装nacos

拉取镜像
docker pull nacos/nacos-server挂载目录
mkdir -p /mydata/nacos/logs/
mkdir -p /mydata/nacos/init.d/
vim /mydata/nacos/init.d/custom.properties       mysql新建nacos的数据库,并执行脚本
https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql修改配置文件custom.properties
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.1.200:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=rootnacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true启动容器
docker  run \
--name nacos -d \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
nacos/nacos-server

docker安装canal-server

创建用户

create user canal identified by 'canal';
grant select,replication slave, replication client on *.* to 'canal'@'%';
flush privileges;# 查看bin-log是否开启 on: 开启 off: 关闭
show variables like 'log_bin';

启动canal-server

docker run  \
-d  \
-e canal.instance.master.address=192.168.1.200:3306 \
-e canal.instance.dbUsername=root \
-e canal.instance.dbPassword=root \
--name canal-server  \
-p 11111:11111 \canal/canal-server:v1.1.5#进入容器 查看配置文件路径
docker exec -it canal-server bash# 复制容器中的配置文件到本地
docker cp canal-server:/home/admin/canal-server/conf/canal.properties /opt/canal
docker cp canal-server:/home/admin/canal-server/conf/example/instance.properties /opt/canal

修改修改外部配置文件canal.properties 配置文件

# 默认端口 11111
# 默认输出model为tcp, 这里根据使用的mq类型进行修改
# tcp, kafka, RocketMQ
canal.serverMode = kafka
kafka.bootstrap.servers=192.168.1.200:9092# canal可以有多个instance,每个实例有独立的配置文件,默认只有一个example实例。
# 如果需要处理多个mysql数据的话,可以复制出多个example,对其重新命名,
# 命令和配置文件中指定的名称一致。然后修改canal.properties 中的 canal.destinations
# canal.destinations=实例 1,实例 2,实例 3
canal.destinations = example

修改修改外部配置文件instance.properties配置文件

# 不能和mysql重复
canal.instance.mysql.slaveId=2
# 使用mysql的虚拟ip和端口
canal.instance.master.address=192.168.1.200:3306
# 使用已创建的canal用户
canal.instance.dbUsername=root
canal.instance.dbPassword=root
canal.instance.connectionCharset = UTF-8# 问题:(只同步test库)
# canal.instance.filter.regex=.*\..*
# canal.instance.defaultDatabaseName =test# 注掉上面,然后添加,同步所有的库。
# .*\\..*:  表示匹配所有的库所有的表
canal.instance.filter.regex =.*\\..*# 目的地,可以认识一个消息队列,不需要更改。与canal.properties文件一致
canal.mq.topic=example

停止并且移除刚才的canal容器,并使用挂载配置文件的方式启动canal

docker run --name canal
-p 11111:11111
-v /opt/canal/instance.properties:/home/admin/canal-server/conf/example/instance.properties
-v /opt/canal/canal.properties:/home/admin/canal-server/conf/canal.properties
-d canal/canal-server:v1.1.5

docker安装Sentinel

docker pull bladex/sentinel-dashboard:1.8.0docker run --name sentinel  -d -p 8858:8858 -d bladex/sentinel-dashboard:1.8.0docker update --restart=always sentinel
访问路径
http://192.168.1.200:8858

docker安装Skywalking

skywalking-oap-server:Skywalking服务器
skywalking-ui :Skywalking的UI界面
docker pull apache/skywalking-oap-server:8.9.1
docker pull apache/skywalking-ui:8.9.1持久化启动 skywalking-oapdocker run  -itd \
--name skywalking-oap \
--restart=always \
-e TZ=Asia/Shanghai \
-p 12800:12800 \
-p 11800:11800 \
--link elasticsearch:elasticsearch \
-e SW_STORAGE=elasticsearch \
-e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 \
apache/skywalking-oap-server:8.9.1
-------------------------------------------------------------------------------------------
​​-e TZ=Asia/Shanghai​​:指定时区。
​​--link elasticsearch:elasticsearch​​:关联elasticsearch容器,通过容器名字来解决ip会发生变更的问题。
​​-e SW_STORAGE=elasticsearch​​:设置环境变量,指定存储方式。
​​-e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200​​:设置环境变量,指定ES的地址
===========================================================================================持久化启动 skywalking-uidocker run -itd --name skywalking-ui \
--restart=always \
-e TZ=Asia/Shanghai \
-p 8980:8080 \
--link skywalking-oap:skywalking-oap \
-e SW_OAP_ADDRESS=skywalking-oap:12800 \
apache/skywalking-ui:8.9.1浏览器验证
访问UI:http://192.168.1.200:8980/

docker安装Kibana

docker pull kibana:7.12.0
临时启动
docker run -d --name=kibana -p 5601:5601 kibana:7.12.0复制目录
docker cp kibana:/usr/share/kibana/config /usr/docker/kibana/
docker cp kibana:/usr/share/kibana/data /usr/docker/kibana/编辑配置文件
vi /usr/docker/kibana/config/kibana.ymlserver.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://192.168.1.200:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true先删除临时的
docker rm -f kibana重新启动
docker run -d \--name=kibana \--restart=always \-p 5601:5601 \-v /usr/docker/kibana/config:/usr/share/kibana/config \-v /usr/docker/kibana/data:/usr/share/kibana/data \kibana:7.12.0

docker安装seata

docker run -d --name seata-server -p 8091:8091 -p 7091:7091  seataio/seata-server这时进入seata 容器内部查看配置
docker exec -it seata-server sh先在宿主机中创建一个存放配置文件的目录
mkdir -p /usr/docker/seata/拷贝容器中配置信息
docker cp seata-server:/seata-server/resources /usr/docker/seata/
cd /usr/docker/seata/resources/
修改application.yml 配置自己的注册中心和配置文件中心
seata-server.properties 配置信息
https://blog.csdn.net/wyz0923/article/details/126163382
https://www.cnblogs.com/stcweb/articles/16675810.html删除容器重新启动
docker run -d --name seata-server -p 8091:8091 -p 7091:7091   -v /usr/docker/seata/resources/:/seata-server/resources seataio/seata-server

docker安装sqlserver

docker pull mcr.microsoft.com/mssql/server:2017-latestmkdir /usr/docker/sqlserver/datasudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=jy@19911001" \
-p 1433:1433 --name sqlserver2017 \
-v /usr/docker/sqlserver/data:/var/opt/mssql \
-d mcr.microsoft.com/mssql/server:2017-latest

linux版docker安装镜像相关推荐

  1. ELK实战,Linux版docker安装ElasticSearch、ES-head、Logstash、Kiabana入门,无坑详细图解

    项目需要,记录一次ELK日志分析系统无坑初始安装过程,并给大家整理出了操作elasticsearch的主要命令,elasticsearch!伙伴们都懂得哦!别的不多说,看过内容概览,直接开整!!! 一 ...

  2. windows版docker安装镜像

    目录 安装mysql 安装redis 安装mysql 1. 下载mysql镜像 docker pull mysql:8.0 2. 下载完之后,使用管理员打开cmd docker run -itd -p ...

  3. win10安装docker及docker安装镜像

    准备文件 轻量级的虚拟机.linux系统.linux客户端 安装 安装virtualBox好后导入虚拟机文件centos,启动虚拟机,以root/123456登录. 使用linux客户端工具链接lin ...

  4. Linux使用Docker安装Nacos并配置MySQL数据源,将Springboot的配置文件部署到Nacos

    Linux使用Docker安装Nacos并配置MySQL数据源,将Springboot的配置文件部署到Nacos 前言 一.Docker中安装配置Nacos 安装Docker 拉取Nacos镜像 启动 ...

  5. Linux通过docker安装运行酷Q--用QQ骰子君进行跑团

    Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...

  6. mathematica在linux上运行,Mathematicamatlab的linux版的安装

    Mathematica8 linux版的安装 安装准备: 1.运行Mathematica_8.0.0_WIN_MachineSpecific.EXE 可以用wine ,也可以在windows下运行 2 ...

  7. docker源码编译 linux_oracle linux 6 docker 安装(包括编译git源码)

    在安装时请确保可以联网.安装步骤如下: 1. 更新班级yum配置(参见: http://public-yum.oracle.com/getting-started.html): # cd /etc/y ...

  8. phpstudy for linux版环境安装

    phpstudy for linux版环境安装 本文主要和大家分享PHP环境安装-phpstudy for linux版,希望能帮助到大家. 下载地址: 下载版:http://lamp.phpstud ...

  9. linux版navicat安装和破解

    linux版navicat安装和破解 工具环境:服务器CentOS7 64位(桌面版),本地windows10系统 在linux系统以原生命令为王的大背景下,能在其中运行windows窗口界面软件是件 ...

最新文章

  1. CentOS7 Zabbix3.4安装
  2. Qt for Android调用Android接口将程序移到后台/前台运行
  3. 国二c语言操作题评分标准,全国计算机二级C语言操作题题库.doc
  4. 【转】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型...
  5. mysql增删改查不区分大小写吗_MySQL的增删改查语句以及数据库设计的三大范式...
  6. 【原创】Extjs4 通用CURD方法
  7. 【软件测试】验收测试是以最终用户为主的测试
  8. wireshark抓包分析怎么看进程_wireshark抓包数据怎么看?wireshark数据分析教程
  9. 解决:微软拼音输入法不显示选字栏,微软的拼音输入法第一个候选词不显示
  10. 查看本地windows密码方法
  11. 人们熟知的一句名言是:“天才是1%的灵感加99%的汗水。”可如果没有那1%的灵感,世界上所有的汗水也就仅仅是一桶汗水而已。...
  12. C# dgv自动排序后,各种样式设定无效的解决办法
  13. 台式计算机怎么加一个硬盘,台式机添加硬盘方法
  14. 理解JavaScript中的原型与原型链
  15. 前端工程化-基于Taro的Web端Monorepo架构改造
  16. 共模电感模型matlab,混成式共模电感的原理及功能讲解?
  17. SonarQube-代码质量检测工具
  18. oracle 拼接clob,把string拼接成clob类型
  19. 图表示学习和异质信息网络
  20. pdf怎么转换成jpg或png格式的图片?

热门文章

  1. UE5——AI追逐(蓝图、行为树)
  2. 最详细的maven教程
  3. MYSQL天花板函数和地板函数_2020-08-04常用函数
  4. gitlab-ci配置详解(一)
  5. 耐压测试仪结构组成部分
  6. 大数据在金融领域主要面临哪些风险,应该怎么解决?
  7. C++实现栈的基本操作(入栈,出栈,取栈顶)
  8. Qt实现 QOpenGL绘制彩色三角形
  9. 相对地址,绝对地址,本地地址
  10. Python正则表达式【转】