虚拟机CentOS系统安装

VmWare安装Linux镜像

CentOS 最小镜像:

虚拟机IP修改

安装开发常用环境(宝塔面板)

宝塔命令(全部yes):yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安装完成后图示
选择要安装的基础组件
基础组件安装
修改面板基本配置
基本账户配置
取消宝塔面板安全地址登录限制
关闭安全入口:rm -f /www/server/panel/data/admin_path.pl
磁盘扩容参考:https://www.cnblogs.com/willamwang/p/12082465.html

常用组件安装

Docker镜像加速地址
地址1:http://hub-mirror.c.163.com
地址2:https://registry.docker-cn.com
宝塔软件商店:Redis,Memcached,MongoDB,Docker,PM2
Jenkins的Docker版本安装:

// 如果目录没有权限就手动去宿主机给一下
docker run  -d -p 18080:8080 --name jenkins -v /home/docker/jenkins_home:/var/jenkins_home -v /home/docker/host_home:/home -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone jenkins/jenkins:lts-centos7-jdk8

Jenkins

// 如果目录没有权限就手动去宿主机给一下
docker run  -d -p 18080:8080 --name jenkins -v /home/docker/jenkins_home:/var/jenkins_home -v /home/docker/host_home:/home -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone jenkins/jenkins:lts-centos7-jdk8

Jenkins安装:
下载:http://mirror.xmission.com/jenkins/war-stable/2.235.5/jenkins.war
安装与映射
在这里插入图片描述

SonarQube安装(执行即可使用)

默认账号密码:admin/admin
MySQL版本:docker run -d --name sonarqube -p 9090:9000 -p 9092:9092 -e "SONARQUBE_JDBC_USERNAME=[数据库用户名]" -e "SONARQUBE_JDBC_PASSWORD=[数据库密码]" -e "SONARQUBE_JDBC_URL=jdbc:mysql://[IP地址]:3306/[数据库名称]?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false" -v/home/docker//sonarqube/data:/opt/sonarqube/data -v/home/docker//sonarqube/extensions:/opt/sonarqube/extensions -v/home/docker/sonarqube/logs:/opt/sonarqube/logs sonarqube:7.1

PostgreSQL版本:docker run -d --name sonarqube -p 9090:9000 -p 9092:9092 -e "SONARQUBE_JDBC_USERNAME=[数据库用户名]" -e "SONARQUBE_JDBC_PASSWORD=[数据库密码]" -e "SONARQUBE_JDBC_URL=jdbc:postgresql://[IP地址]:5432/[数据库名称]" -v /home/docker/sonarqube/conf:/opt/sonarqube/conf  -v /home/docker/sonarqube/data:/opt/sonarqube/data -v /home/docker/sonarqube/extensions:/opt/sonarqube/extensions -v /home/docker/sonarqube/logs:/opt/sonarqube/logs sonarqube:9.1.0-community

安装过程中如果提示: max_map_count 数量太低

# 修改系统参数
echo "vm.max_map_count=262144" > /etc/sysctl.conf
sysctl -p

安装成功后可以访问
在这里插入图片描述
生成Token:Security -> Users -> Token
安装汉化包和Java分析插件:
在这里插入图片描述
从宿主机复制插件到容器

docker cp /[路径]/[文件名] [容器名称]:/[容器内路径]

安装jenkins配置插件(SonarQube Scanner)

配置Sonar:

配置扫描器地址:
在这里插入图片描述
SonarScanner默认配置

sonar.projectKey=${JOB_NAME}
sonar.projectName=${JOB_NAME}
sonar.projectVersion=${BUILD_VERSION}
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.sources=$WORKSPACE
sonar.java.binaries=$WORKSPACE

配置参考:https://www.jb51.net/article/196239.htm
如果Sonar安装的FindBug插件,使用Scanner会报错,写在FindBug即可
在这里插入图片描述

MySQL安装

# Mac
docker run -d -p 3306:3306 --restart=always --privileged=true -v ~/Desktop/JavaDev/docker/mysql/log:/var/log/mysql -v ~/Desktop/JavaDev/docker/mysql/data:/var/lib/mysql -v ~/Desktop/JavaDev/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v ~/Desktop/JavaDev/docker/mysql/mysql-files:/var/lib/mysql-files -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai --name mysql mysql:8.0

# Centos
docker run -d -p 3306:3306 --restart=always --privileged=true -v /home/docker/mysql/log:/var/log/mysql -v /home/docker/mysql/data:/var/lib/mysql -v /home/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/docker/mysql/mysql-files:/var/lib/mysql-files -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai --name mysql mysql:8.0

Redis安装

# Mac
docker run --name redis -d -p 6379:6379 -v ~/Desktop/JavaDev/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v ~/Desktop/JavaDev/docker/redis/data:/data  redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456 

# CentOS  (配置文件需要从容器中复制到宿主机)
docker run --name redis -d -p 6379:6379 -v /home/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/docker/redis/data:/data  redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456 

参数解析
【 --restart=always】 开机启动,失败也会一直重启;
【–log-opt max-size=100m】意味着一个容器日志大小上限是100M;
【–log-opt max-file=2】意味着一个容器有2个日志,分别是id+.json、id+1.json;
【-p 6379:6379】 将宿主机6379端口与容器内6379端口进行映射;
【-v】 将宿主机目录或文件与容器内目录或文件进行挂载映射;
【-itd】 i:以交互模式运行容器,通常与 -t 同时使用; t:为容器重新分配一个伪输入终端,通常与 -i 同时使用; d:表示后台启动redis;
【–name】 给容器命名;
【–appendonly yes】 开启redis 持久化;
【–requirepass !qwe123】 强烈建议设置密码,并且将密码设置为高强度复杂;
【redis-server /etc/redis/redis.conf】 以配置文件启动redis,加载容器内的conf文件;

配置文件内容,复制进去就可以用

# Redis 服务器的访问密码
requirepass 1qaz2wsx123

# Redis 最大客户端连接数。默认情况下这个值是 10000
maxclients 10000

# 指定 Redis 监听的 IP 地址。默认是 127.0.0.1,意味着 Redis 只能接受本机连接。设置为 0.0.0.0 可以允许任何 IP 连接
# 指定redis监听的网卡,不设定将监听所有。如果有自己网卡,需要将网卡ip放到127前面,否则建立集群时会无法互相连通
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
bind 0.0.0.0

# 开启保护模式,如果未设置密码,将不允许外部访问,只能本地访问。关闭后,不设置密码也能远程链接了,会危险。
# 默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。要是开启了密码   和bind,可以开启。否则最好关闭,设置为no。
protected-mode yes

# Redis 监听的端口,默认是 6379
port 6379

# TCP 监听队列中的连接数。增加此值可以增加服务器的监听能力
tcp-backlog 511

# 客户端空闲超时时间,单位是秒。超过这个时间客户端没有活动,则关闭连接。
timeout 0

# 设置 TCP keepalive 的活动时间,以秒为单位。这有助于检测死连接并回收资源。
tcp-keepalive 300

# 在后台运行 yes开启,no关闭(老版本默认)
daemonize yes 

# 
supervised no

# redis的进程文件
pidfile /www/server/redis_6379.pid

# 日志级别,可以是 debug、verbose、notice、warning 等。
loglevel notice

# 日志文件的路径。设置为空则不记录日志。
# logfile "/www/server/redis/redis.log"
logfile ""

# To enable logging to the system logger, just set 'syslog-enabled' to yes,
# and optionally update the other syslog parameters to suit your needs.
# syslog-enabled no

# Specify the syslog identity.
# syslog-ident redis

# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7.
# syslog-facility local0

# 当前启动16个数据库,意思是链接当前redis后,可以用select 1/2/3来切换到不同的库,相当于mysql中的数据库了,这样好处是一个应用可以一个库,清理当前数据不会影响到其他库。
databases 16

# 
always-show-logo yes

# 
save 900 1
save 300 10
save 60 10000

# 
stop-writes-on-bgsave-error yes

# 
rdbcompression yes

# 
rdbchecksum yes

# 
dbfilename dump.rdb

# 
dir /www/server/redis/


#
replica-serve-stale-data yes

# 
replica-read-only yes

# 
repl-diskless-sync no

# 
repl-diskless-sync-delay 5

#
# repl-ping-replica-period 10

#
# repl-timeout 60

# 
repl-disable-tcp-nodelay no

#
# repl-backlog-size 1mb

#
# repl-backlog-ttl 3600

# 
replica-priority 100

# 
lazyfree-lazy-eviction no
# 
lazyfree-lazy-expire no
# 
lazyfree-lazy-server-del no
# 
replica-lazy-flush no

# 
appendonly yes

# 
appendfilename "appendonly.aof"

# 
no-appendfsync-on-rewrite no

# 
auto-aof-rewrite-percentage 100

# 
auto-aof-rewrite-min-size 64mb

# 
aof-load-truncated yes

# 
aof-use-rdb-preamble yes

# 
lua-time-limit 5000

# 
slowlog-max-len 128

# 
notify-keyspace-events ""

# 
hash-max-ziplist-entries 512
# 
hash-max-ziplist-value 64

# 
list-max-ziplist-size -2

# 
list-compress-depth 0

# 
set-max-intset-entries 512

# 
zset-max-ziplist-entries 128
zset-max-ziplist-value 64

# 
hll-sparse-max-bytes 3000

# 
stream-node-max-bytes 4096

# 
stream-node-max-entries 100

# 
activerehashing yes

# 
hz 10

#
dynamic-hz yes

#
aof-rewrite-incremental-fsync yes

# 
rdb-save-incremental-fsync yes

ElasticSearch安装

docker run --name elasticsearch -e JAVA_OPTS='-Xms512m -Xmx512m' -e "discovery.type=single-node" -d -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0

在这里插入图片描述
插件:安装中文分词器(需要和ES的版本保持一致)

# 1.进入容器
docker exec -it 容器名 /bin/bash
# 2.在线下载并安装,注意:版本号要一
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.0/elasticsearch-analysis-ik-7.7.0.zip
# 3.进入到 plugins 目录可以看到IK分词器已经安装成功

WebUI工具(Dejavu)

docker run --name dejavu -p 1358:1358 -d appbaseio/dejavu

安装Kibana

Kibana版本要和ElasticSearch一致

docker run --name kibana -p 5601:5601 --link elasticsearch:elasticsearch -d kibana:7.7.0

在这里插入图片描述
修改界面语言为中文:

vi /usr/share/kibana/config/kibana.yml

在这里插入图片描述

安装Logstach

Logstash版本要和ElasticSearch一致; 如果有该配置的需求,指定挂载目录,可手动先建立挂在的目录

docker run --name logstash -d -p 5044:5044 -p 9600:9600 --link elasticsearch:elasticsearch  -v /home/docker/logstash/config/:/usr/share/logstash/config/  logstash:7.7.0

在这里插入图片描述
插件安装:logstash-output-elasticsearch

//  【在bin目录中去执行命令】
./logstash-plugin install logstash-output-elasticsearch

执行配置:center_goods_spu.conf

# 必须写上配置的完整路径,避免配置目录中.conf和.yml文件共存造成异常
./bin/logstash -f /usr/share/logstash/config/center_goods_spu.conf

配置完整实例

input {
  # 可以配置多个数据源
  jdbc {
    # jar包目录必须在目录[ logstash-core/lib/jars ]下
    jdbc_driver_library => "/usr/share/logstash/logstash-core/lib/jars/mysql-connector-java-8.0.22.jar"
    jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://[IP地址]:3306/cloud_center?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"
    jdbc_user => "数据库账号"
    jdbc_password => "数据库密码"
    statement => "SELECT * FROM center_goods_spu WHERE update_time >= :sql_last_value"
    jdbc_paging_enabled => "true"
    jdbc_page_size => "1000"
    schedule => "* * * * *"
    # 索引类型
    type => "center_goods_spu "
  }
  jdbc {
    # jar包目录必须在目录[ logstash-core/lib/jars ]下
    jdbc_driver_library => "/usr/share/logstash/logstash-core/lib/jars/mysql-connector-java-8.0.22.jar"
    jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://[IP地址]:3306/cloud_center?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"
    jdbc_user => "数据库账号"
    jdbc_password => "数据库密码"
    # 执行的sql 文件路径+名称
    statement_filepath => "/home/mysqlSQL/center_goods_category.sql"
    jdbc_paging_enabled => "true"
    jdbc_page_size => "1000"
    schedule => "* * * * *"
    # 索引类型
    type => "center_goods_spu "
  }
}
output {
  # 可以配置多个数据源
  if [type]=="center_goods_spu" {
    elasticsearch {
      hosts => ["192.168.0.248:9200"]
      index => "center_goods_spu"
      document_type => "center_goods_spu"
      document_id => "%{id}"
    }
  if [type]=="center_goods_category" {
    elasticsearch {
      hosts => ["192.168.0.248:9200"]
      index => "center_goods_category"
      document_type => "center_goods_category"
      document_id => "%{id}"
    }
  }
  stdout {
    codec => rubydebug
  }
}

处理Logstash链接ES问题

问题:LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError
处理方式:

处理Logstash中“path.data”问题
处理方式:删除目录[/usr/share/logstash/data]中的[.lock]文件
在这里插入图片描述

安装Kafka

# 安装配套zookeeper
docker run --name=zookeeper -d -p 2181:2181 --privileged=true wurstmeister/zookeeper 
# 安装配套kafka
docker run --name kafka -d -p 9092:9092 --privileged=true -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.1.248:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.248:9092 -e KAFKA_LISTENERS=PLAINTEXT://:9092 wurstmeister/kafka
# 安装Kafka可视化管理工具
docker run --name kafka-manager -d --link zookeeper:zookeeper --link kafka:kafka -p 9001:9000 --env ZK_HOSTS=zookeeper:2181 sheepkiller/kafka-manager

查看kafka运行日志报错
在这里插入图片描述
未完待续。。。

安装skywalking

docker run --name skywalking -d -p 1234:1234 -p 11800:11800 -p 12800:12800 --link elasticsearch:elasticsearch -e SW_STORAGE=elasticsearch -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 apache/skywalking-oap-server:6.6.0-es7

安装skywalking-ui

docker run --name skywalking-ui -d -p 8899:8080 --link skywalking:skywalking -e SW_OAP_ADDRESS=skywalking:12800 --restart always apache/skywalking-ui:6.6.0

服务启动后效果如下
在这里插入图片描述

错误日志查看

在这里插入图片描述

服务优化信息图表

在这里插入图片描述

下载Agent包

连接:https://archive.apache.org/dist/skywalking/6.6.0/apache-skywalking-apm-6.6.0.tar.gz
解压缩:tar -zxvf 压缩文件名.tar.gz

启动服务查看监听

#删除进程
kill -9 $(jps | grep [服务Jar包].jar | awk '{print $1}')
nohup java -Xms256m -Xmx512m -javaagent:/[skywalking apm路径]/apache-skywalking-apm-bin/agent/skywalking-agent.jar -Dskywalking.agent.service_name=[服务名] -Dskywalking.collector.backend_service=localhost:11800 -jar /[服务路径]/[服务Jar包].jar > /[服务路径]/[服务Jar包].log 2>&1 &

安装Docker Nginx

docker run -d -–name nginx -p 80:80 -p 443:443 -v /home/docker/nginx/html:/usr/share/nginx/html -v /home/docker/nginx/config:/etc/nginx -v /home/docker/nginx/log:/var/log/nginx registry.cn-hangzhou.aliyuncs.com/kaitian0079/nginx:stable

修改nginx配置

新增一个nginx配置 xxx.conf

server
{
    listen 2888;
    server_name [服务名];
    access_log   /[路径]/logs/access.log;
    error_log    /[路径]/logs/error.log;
    
    location / {
        root /[路径]/dist;
        index  index.html index.htm;
        proxy_ssl_session_reuse off;
        try_files $uri $uri/ /index.html =404;
    }

    location /api/ {
        proxy_pass http://127.0.0.1:2828/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_ssl_session_reuse off;
    }
}

拷贝文件目录到远程服务器

scp -r /[本地目录] root@192.168.0.xxx:/[远程目录]

拷贝远程文件目录到本地服务器

scp -r root@192.168.0.xxx:/[远程目录] /[本地目录] 

压缩和解压命令

压缩:tar zcf /[路径]/[文件名].tar.gz /[路径]
解压:tar -xzvf /[路径]/[文件名].tar.gz /[路径]

登录到远程服务器

ssh [用户名]@[IP地址]

运行Consul

运行:docker run -d -p 8500:8500 -v /home/consul:/consul/data  --name=consul consul:latest agent -server -bootstrap -ui -node=1 -client='0.0.0.0'  
配置导出:consul kv export --http-addr=http://[ip地址]:8500  >consul_kv.json
配置导入:consul kv import --http-addr=http://[ip地址]:8500 @consul_kv.json

运行Nacos

docker  run --name nacos -p 8848:8848   \
--privileged=true \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-d nacos/nacos-server

Nacos2.x以上版本安装命令如下(改版后增加了新的端口拓展)

docker  run --name nacos 
-p 7848:7848 
-p 8848:8848 
-p 9848:9848 
-p 9849:9849 
--privileged=true 
-e JVM_XMX=1024m 
-e JVM_XMS=512m 
-e MODE=standalone 
-e PREFER_HOST_MODE=hostname 
-d nacos/nacos-server:v2.1.2

Nacos2 集群模式,指定数据库;2.1.2匹配mysql5;如果使用mysql8请注意版本

# 需要手动从容器复制目录中的配置,并且出初始化mysql的脚本
docker run --name nacos \
-p 7848:7848 \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--privileged=true \
--restart=always \
-e JVM_XMX=1024m \
-e JVM_XMS=512m \
-e MODE=standalone  \
-e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.42.128 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8mb4&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e TIME_ZONE='Asia/Shanghai' \
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_USERNAME=nacos \
-e NACOS_AUTH_PASSWORD=xt#911218 \
-v /home/docker/nacos/logs:/home/nacos/logs \
-v /home/docker/nacos/data:/home/nacos/data \
-v /home/docker/nacos/conf:/home/nacos/conf \
-d nacos/nacos-server:v2.1.2

安装RabbitMQ

docker run -dit --name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management

// 多端口放行和容器挂在的命令版本
docker run -dit --name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 1883:1883 -p 61613:61613 -v /home/docker/rabbitmq:/var/lib/rabbitmq rabbitmq:management

// 安装插件,请进入docker容器后台
// 1. 查看所有可以安装的插件
rabbitmq-plugins list
// 2. 启用插件,请挨个执行
rabbitmq-plugins enable [xxx插件名称]  

rabbitmq-plugins enable rabbitmq_mqtt
rabbitmq-plugins enable rabbitmq_stomp
rabbitmq-plugins enable rabbitmq_web_mqtt
rabbitmq-plugins enable rabbitmq_web_stomp

查看安装插件对应的接口
在这里插入图片描述

插件下载实例
插件下载地址:https://www.rabbitmq.com/community-plugins.html
找到rabbitmq_delayed_message_exchange下载
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/tag/3.12.10

安装xxl-job-admin

docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://xxx.xxx.xxx.xxx:3306/xxl_job?Unicode=true&characterEncoding=UTF-8&useSSL=false --spring.datasource.username=root --spring.datasource.password=root --xxl.admin.login=false" -p 9080:8080 --name xxl-job-admin -d xuxueli/xxl-job-admin:2.2.0

安装ZipKin

docker run --name zipkin -d  -p 9411:9411 openzipkin/zipkin

安装Sentinel

docker run --name sentinel -d -p 8858:8858 -p 8719:8719 bladex/sentinel-dashboard

安装Zookeeper

docker run -d --name zookeeper-server -p 2181:2181 -e TZ="Asia/Shanghai" -e ALLOW_ANONYMOUS_LOGIN=yes -v /home/docker/zookeeper/data:/data bitnami/zookeeper:latest

安装Kafka

// 安装kafka必须安装zookeeper;独立网段,不对外开放zookeeper端口

// app-bridge:网络名称    --driver :网络类型为bridge
docker network create app-bridge --driver bridge

// 安装zookeeper; 有时候使用新建的网络有问题,可选择使用
docker run -d --name zookeeper-server -p 2181:2181 [--network app-bridge] -e TZ="Asia/Shanghai" -e ALLOW_ANONYMOUS_LOGIN=yes -v /home/docker/zookeeper/data:/data bitnami/zookeeper:latest

// 安装kafka; 链接zookeeper的时候可以使用容器名称;  监听端口IP配置宿主机内网IP
docker run -d --name kafka-server -p 9092:9092 -e ALLOW_PLAINTEXT_LISTENER=yes -e  KAFKA_CFG_ZOOKEEPER_CONNECT=[172.17.0.3/zookeeper-server]:2181 -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://[服务器内网IP]:9092 -v /home/docker/kafka:/kafka  bitnami/kafka:latest

安装Kafka可视化工具

···
// 默认账号密码:admin/admin
docker run -d --name kafka-map -p 18080:8080 -v /home/docker/kafka-map/data:/usr/local/kafka-map/data -e DEFAULT_USERNAME=admin -e DEFAULT_PASSWORD=admin dushixiang/kafka-map:latest
···
在这里插入图片描述

安装MINIO

docker run -p 9000:9000 -p 9001:9001 --name minio -e "MINIO_ACCESS_KEY=admin" -e "MINIO_SECRET_KEY=admin123456" -v /home/docker/minio/data:/data -v /home/docker/minio/config:/root/.minio -v /etc/localtime:/etc/localtime minio/minio server /data --console-address ":9001"

安装JumpServer堡垒机

-- 生成服务器秘钥
[root@xxxxx ~]# if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi

[root@xxxxx ~]# if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi

-- Docker安装堡垒机

docker run -d --name=jumpserver 
-v /home/docker/jump_server_home/data:/opt/jumpserver/data  
-v /home/docker/jump_server_home/koko:/opt/koko/data  
-v /home/docker/jump_server_home/lion:/opt/lion/data
-p 8000:80 
-p 2222:2222 
-e SECRET_KEY=$SECRET_KEY 
-e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN 
-e DB_HOST=【数据库IP】 
-e DB_PORT=3306 
-e DB_USER=【数据库用户】
-e DB_PASSWORD="【数据库密码】" 
-e DB_NAME=【数据库名称】 
-e REDIS_HOST=【Redis IP】 
-e REDIS_PORT=6379 
-e REDIS_PASSWORD="xckj1234." 
jumpserver/jms_all:v2.5.0

安装完成后效果如下
在这里插入图片描述

Nexus环境配置

docker run -d --name nexus3 -p 8081:8081 -v ~/home/docker/nexus:/nexus-data sonatype/nexus3

MySQL8安装

docker run --name mysql8 -p 3306:3306 --privileged=true -v /home/docker/mysql8/mysql:/etc/mysql -v /home/docker/mysql8/logs:/logs -v /home/docker/mysql8/data:/var/lib/mysql -v /etc/localtime:/etc/localtime -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20
# 需要注意,mysql需要放行ip限制,mysql8的操作有所改变;
# 参考资料地址:https://blog.csdn.net/a1150499208/article/details/131437199

MinDoc安装

docker run -d \
   --restart always \
   --name center_mindoc \
   -p 8181:8181 \
   -v /home/docker/mindoc/conf:/mindoc/conf \
   -v /home/docker/mindoc/static:/mindoc/static \
   -v /home/docker/mindoc/views:/mindoc/views \
   -v /home/docker/mindoc/uploads:/mindoc/uploads \
   -v /home/docker/mindoc/runtime:/mindoc/runtime \
   -v /home/docker/mindoc/database:/mindoc/database \
   -e MINDOC_RUN_MODE=prod \
   -e MINDOC_DB_ADAPTER=mysql \
   -e MINDOC_DB_DATABASE=mindoc \
   -e MINDOC_DB_HOST=xxx.aliyuncs.com \
   -e MINDOC_DB_PORT=3306 \
   -e MINDOC_DB_USERNAME=xxx \
   -e MINDOC_DB_PASSWORD=xxx \
   -e MINDOC_CACHE=true \
   -e MINDOC_CACHE_PROVIDER=file \
   -e MINDOC_ENABLE_EXPORT=false \
   -e MINDOC_BASE_URL= \
   -e MINDOC_CDN_IMG_URL= \
   -e MINDOC_CDN_CSS_URL= \
   -e MINDOC_CDN_JS_URL= \
   registry.cn-hangzhou.aliyuncs.com/kaitian0079/mindoc:v2.2-beta.1

代理IP资源池

docker run -d --name proxy_pool --env DB_CONN=redis://:xxxxxx@host_redis7:6379/0 -p 5010:5010 jhao104/proxy_pool:latest

Docker常规操作

容器中目录授权

# Root账号进入container
docker exec -it --user root [容器名称] /bin/bash 
chmod 777 /[需授权目录]
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐