ToB企服应用市场:ToB评测及商务社交产业平台

标题: 七、Docker常用安装 [打印本页]

作者: 欢乐狗    时间: 2024-1-19 05:48
标题: 七、Docker常用安装
1.总体步骤<br><br>2. 安装tomcat<br><br>
  1. 1. docker search tomcat:8.5.32
  2. 输出结果:
  3. NAME                          DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
  4. tomcat                        Apache Tomcat is an open source implementati…   3106      [OK]   
  5. 2.docker pull tomcat
  6. 3.mkdir ~/tomcat
  7. 4.cd ~/tomcat
  8. 5.docker images
  9. 6.docker run -id --name=tomcat_8081 \
  10. -p 8081:8080 \
  11. -v $PWD:/usr/local/tomcat/webapps \
  12. tomcat:8.5.32
  13. 参数说明:
  14. $PWD:代表宿主机的当前路径
  15. -p 8080:8080 将容器8080端口映射到主机的8080端口
  16. -v $PWD:/usr/local/tomcat/webapps:将主机中的当前目录挂载到容器的webapps
复制代码
 
若想将项目部署至根目录下,需要在tomcat文件夹中创建ROOT文件夹,将项目文件全部拷贝至ROOT文件夹中即可。
3.安装nginx<br><br>
  1. 1.docker pull nginx
  2. 2.mkdir ~/nginx
  3. 3.cd ~/nginx
  4. 4.docker run -d --name=c_nginx -p 80:80 nginx #创建nginx容器
复制代码
 
配置负载均衡<br><br>
  1. 1. docker cp c_nginx:/etc/nginx/nginx.conf nginx.conf # 将nginx.conf配置文件复制出来
  2. 2. docker cp c_nginx:/etc/nginx/conf.d/default.conf default.conf  # 将default.conf 配置文件复制出来
复制代码
 
nginx.conf 文件内容修改如下:
  1. user  nginx;
  2. worker_processes  auto;<br><br>error_log  /var/log/nginx/error.log notice;
  3. pid        /var/run/nginx.pid;<br><br>
  4. events {
  5.     worker_connections  1024;
  6. }<br><br>
  7. http {
  8.     include       /etc/nginx/mime.types;
  9.     default_type  application/octet-stream;<br><br>    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  10.                       '$status $body_bytes_sent "$http_referer" '
  11.                       '"$http_user_agent" "$http_x_forwarded_for"';<br><br>    access_log  /var/log/nginx/access.log  main;<br><br>    sendfile        on;
  12.    
  13.     keepalive_timeout  65;<br><br>    # 此处配置负载均衡
  14.     upstream springcloud{
  15.         server 192.168.253.133:8080;
  16.         server 192.168.253.130:8081;
  17.     }<br><br>    include /etc/nginx/conf.d/*.conf;
  18. }
复制代码
 
添加 upstream springcloud(这个名称随便写) 下面配置的就是两个web应用所在的的ip地址以及端口号 ,注意web地址一定要用真实的IP,就算是本地测试,也不能使用127.0.0.1或者localhost
default.conf 内容修改如下:
  1. server {
  2.     listen       80;
  3.     listen  [::]:80;
  4.     server_name  localhost;<br><br>    location / {
  5.         proxy_pass http://springcloud; # 配置负载均衡
  6.         root   /usr/share/nginx/html;
  7.         index  index.html index.htm;
  8.     }<br><br>    error_page   500 502 503 504  /50x.html;
  9.     location = /50x.html {
  10.         root   /usr/share/nginx/html;
  11.     }
  12. }
复制代码
 
  1. <br><br>
复制代码
proxy_pass http://springcloud; 这个地址就是nginx.conf 中upstream 后面的名称,不要写错了
当前也可以直接使用容器卷:
  1. docker run -d --name c_nginx -p 80:80 -v $PWD/default.conf:/etc/nginx/default.conf -v $PWD/nginx.conf:/etc/nginx/nginx.conf  --net 你的网络名称 --restart=always nginx
复制代码
 
 
接下来需要将nginx.conf与default.conf 这两个重新复制回容器中
  1. 3. docker cp nginx.conf c_nginx:/etc/nginx/nginx.conf
  2. 4. docker cp default.conf c_nginx:/etc/nginx/conf.d/default.conf
  3. 5. docker restart c_nginx # 重启nginx 容器
复制代码
 
接下来就可以通过nginx 服务器IP访问了,大功告成!!
 
4. 安装mysql<br><br>
  1. $ docker pull mysql:5.7
  2. $ mkdir ~/mysql
  3. $ cd ~/mysql
  4. $ docker run -d \
  5. -p 3306:3306 --name c_mysql \
  6. -v $PWD/conf:/etc/mysql/conf.d \
  7. -v $PWD/logs:/logs \
  8. -v  $PWD/data:/var/lib/mysql \
  9. -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
复制代码
 
命令说明: -p 3306:3306:将主机的3306端口映射到docker容器的3306端口。 --name c_mysql:运行服务名字 -v $PWD/conf:/etc/mysql/conf.d :将主机/root/mysql录下的conf/my.cnf 挂载到容器的 /etc/mysql/conf.d -v $PWD/logs:/logs:将主机/root/mysql目录下的 logs 目录挂载到容器的 /logs。 -v $PWD/data:/var/lib/mysql :将主机/root/mysql目录下的data目录挂载到容器的 /var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。  mysql:5.7: 后台程序运行mysql5.7
 
运行以下命令可进入mysql命令窗口:
  1. docker exec -it c_mysql /bin/bash
复制代码
 
登录mysql:
  1. mysql -uroot -p123456
复制代码
 
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 5 rows in set (0.09 sec)
5.安装redis<br><br>
  1. 1.docker pull redis:7.0.5
  2. 2.mkdir ~/redis
  3. 3.cd ~/redis
  4. 4.docker run -d -p 6379:6379 --name=redis \
  5. --privileged=true \
  6. --restart=always \
  7. -v $PWD/conf/redis.conf:/etc/redis/redis.conf \
  8. -v $PWD/data:/data redis:7.0.5 \
  9. redis-server /etc/redis/redis.conf --appendonly yes
  10. --privileged=true:表示给容器root权限,否则无法使用appenonly
  11. redis-server:表示使用右侧路径中的配置文件启动。
  12. --appendonly yes : 指定以aof形式启动
复制代码
 
 
5.1 redis-cli 命令的基本操作<br><br>一、 redis-cli 连接 redis:
语法:docker exec -it 窗口名或者窗口ID redis-cli [-h ip地址] [-p 端口号]
  1. docker exec -it c_redis redis-cli -h 127.0.0.1 -p 6379
复制代码
 
5.2 配置redis<br><br>在 /redis/redis.conf 目录下新建文件 redis.conf
  1. vim /redis/redis.conf/redis.conf
  2. bind 0.0.0.0
  3. protected-mode yes
  4. port 6379
  5. tcp-backlog 511
  6. timeout 0
  7. tcp-keepalive 300
  8. daemonize no
  9. pidfile /var/run/redis_6379.pid
  10. loglevel notice
  11. logfile ""
  12. databases 16
  13. always-show-logo no
  14. set-proc-title yes
  15. proc-title-template "{title} {listen-addr} {server-mode}"
  16. stop-writes-on-bgsave-error yes
  17. rdbcompression yes
  18. rdbchecksum yes
  19. dbfilename dump.rdb
  20. rdb-del-sync-files no
  21. dir /data
  22. requirepass 123456
  23. replica-serve-stale-data yes
  24. replica-read-only yes
  25. repl-diskless-sync no
  26. repl-diskless-sync-delay 5
  27. repl-diskless-load disabled
  28. repl-disable-tcp-nodelay no
  29. replica-priority 100
  30. acllog-max-len 128
  31. lazyfree-lazy-eviction no
  32. lazyfree-lazy-expire no
  33. lazyfree-lazy-server-del no
  34. replica-lazy-flush no
  35. lazyfree-lazy-user-del no
  36. lazyfree-lazy-user-flush no
  37. oom-score-adj no
  38. oom-score-adj-values 0 200 800
  39. disable-thp yes
  40. appendonly yes
  41. appendfilename "appendonly.aof"
  42. appendfsync everysec
  43. no-appendfsync-on-rewrite no
  44. auto-aof-rewrite-percentage 100
  45. auto-aof-rewrite-min-size 64mb
  46. aof-load-truncated yes
  47. aof-use-rdb-preamble yes
  48. lua-time-limit 5000
  49. slowlog-log-slower-than 10000
  50. slowlog-max-len 128
  51. latency-monitor-threshold 0
  52. notify-keyspace-events ""
  53. hash-max-ziplist-entries 512
  54. hash-max-ziplist-value 64
  55. list-max-ziplist-size -2
  56. list-compress-depth 0
  57. set-max-intset-entries 512
  58. zset-max-ziplist-entries 128
  59. zset-max-ziplist-value 64
  60. hll-sparse-max-bytes 3000
  61. stream-node-max-bytes 4096
  62. stream-node-max-entries 100
  63. activerehashing yes
  64. client-output-buffer-limit normal 0 0 0
  65. client-output-buffer-limit replica 256mb 64mb 60
  66. client-output-buffer-limit pubsub 32mb 8mb 60
  67. hz 10
  68. dynamic-hz yes
  69. aof-rewrite-incremental-fsync yes
  70. rdb-save-incremental-fsync yes
  71. jemalloc-bg-thread yes
  72. 通过客户端工具设置
  73. 也可以通过客户端工具设置配置信息
  74. 127.0.0.1:6379> info server   -- 查看配置信息
  75. # Server
  76. redis_version:7.0.5
  77. redis_git_sha1:00000000
  78. redis_git_dirty:0
  79. redis_build_id:6dfaa38315e9cd59
  80. redis_mode:standalone
  81. os:Linux 3.10.0-1160.71.1.el7.x86_64 x86_64
  82. arch_bits:64
  83. monotonic_clock:POSIX clock_gettime
  84. multiplexing_api:epoll
  85. atomicvar_api:c11-builtin
  86. gcc_version:10.2.1
  87. process_id:1
  88. process_supervised:no
  89. run_id:557c1683ceef823d0c6a9c72c0d52bf64b224f8b
  90. tcp_port:6379
  91. server_time_usec:1678350087814787
  92. uptime_in_seconds:614
  93. uptime_in_days:0
  94. hz:10
  95. configured_hz:10
  96. lru_clock:628487
  97. executable:/data/redis-server
  98. config_file:/etc/redis/redis.conf
  99. io_threads_active:0
  100. 127.0.0.1:6379> config set requirepass 123456   --设置密码
  101. OK
  102. 127.0.0.1:6379> config get requirepass
  103. 1) "requirepass"
  104. 2) "123456"
  105. 127.0.0.1:6379> config set bind 0.0.0.0   -- 设置绑定主机
  106. OK
  107. 127.0.0.1:6379> config get bind
  108. 1) "bind"
  109. 2) "0.0.0.0"
复制代码
 
6. 安装RabbitMQ<br><br>
  1. docker pull rabbitmq:management
复制代码
 
7. 部署.NetCore 项目<br><br>Dockerfile 样本:
  1. FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
  2. COPY . /unit8
  3. WORKDIR /unit8
  4. EXPOSE 8888
  5. ENTRYPOINT ["dotnet", "Step4.Unit8.dll","--urls","http://0.0.0.0:8888"]
复制代码
 
在解决方案文件夹中点击打开powershell :docker build -t 镜像名:版本号 -f Dockerfile路径 .
注意后面一个 .,这是一个大坑
  1. docker build -t unit8:1.0 -f ./DockerFile .
复制代码
 
 
Docker save -o 路径/文件名
  1. Docker save -o D:/unit8.tar
复制代码
 
Docker load --input 文件
  1. docker load --input unit8.tar
复制代码
 
Docker run -it -p 端口号:80 --name 容器名 镜像名:版本号
  1. docker run -it -p 9050:8888 --name=unit8 unit8:1.0 /bin/bash
复制代码
 
访问宿主机数据库<br><br>在MySQL中执行以下语句进行授权:
  1. mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
  2. mysql>flush privileges;
  3. // 其中各字符的含义:
  4. // *.* 对任意数据库任意表有效
  5. // "root" "123456" 是数据库用户名和密码
  6. // '%' 允许访问数据库的IP地址,%意思是任意IP,也可以指定IP
  7. // flush privileges 刷新权限信息
复制代码
 
访问MySQL容器<br><br>注意,数据库连接字符串要用宿主机的IP地址,如:
  1. server=192.168.52.147;uid=root;pwd=123456;database=test;sslmode=none
复制代码
 
192.168.52.147 这个就是我宿主机的IP地址(虚拟机)
 
 
8. 安装ELK<br><br> "日志主要包括系统日志和应用程序日志,运维和开发人员可以通过日志了解服务器中软硬件的信息,检查应用程序或系统的故障,了解故障出现的原因,以便解决问题。分析日志可以更清楚的了解服务器的状态和系统安全状况,从而可以维护服务器稳定运行。
但是日志通常都是存储在各自的服务器中。如果管理数十台服务器, 查阅日志需要依次登陆不同的服务器,查看过程就会很繁琐从而导致工作效率低下。虽然可以使用 rsyslog 服务将日志汇总。但是统计一些日志中的数据或者检索也是很麻烦的,一般使用grep、awk、wc、sort等Linux命令来统计和检索。如果对数量巨大的日志进行统计检索,人工的效率还是十分低下。
通过我们对日志进行收集、汇总到一起,完整的日志数据具有非常重要的作用:
二、ELK简介<br><br> ELK实时日志收集分析系统可以完美的解决以上问题。ELK作为一款开源软件可以免费使用,也有强大的团队和社区对它实时更新。
ELK主要由ElasticSearch、Logstash和Kibana三个开源工具组成,还有其他专门由于收集数据的轻量型数据采集器Beats。
Elasticsearch :分布式搜索引擎。具有高可伸缩、高可靠、易管理等特点。可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 是用Java 基于 Lucene 开发,现在使用最广的开源搜索引擎之一,Wikipedia 、StackOverflow、Github 等都基于它来构建自己的搜索引擎。
在elasticsearch中,所有节点的数据是均等的。
Logstash :数据收集处理引擎。支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储以供后续使用。
Kibana :可视化化平台。它能够搜索、展示存储在 Elasticsearch 中索引数据。使用它可以很方便的用图表、表格、地图展示和分析数据。
Filebeat:轻量级数据收集引擎。相对于Logstash所占用的系统资源来说,Filebeat 所占用的系统资源几乎是微乎及微。它是基于原先 Logstash-fowarder 的源码改造出来。换句话说:Filebeat就是新版的 Logstash-fowarder,也会是 ELK Stack 在 Agent 的第一选择。
版本说明:<br><br>Elasticsearch、Logstash、Kibana、Filebeat安装的版本号必须全部一致,不然会出现kibana无法显示web页面。
 
安装步骤<br><br>1. ElasticSearch<br><br>
  1. docker pull elasticsearch:7.7.1
复制代码
 
准备好三个目录:config, logs,data用于挂载数据。
  1. cd /root/es
  2. mkdir {config,logs,data}
复制代码
 
在/root/es/config 下准备好一个配置文件elasticsearch.yml:
  1. cluster.name: "docker-cluster"
  2. network.host: 0.0.0.0
  3. http.port: 9200
  4. # 配置跨域
  5. http.cors.enabled: true
  6. http.cors.allow-origin: "*"
复制代码
 
给/root/es 目录赋予root 用户权限
  1. # 查看root用户的uid,语法: id 用户名,例如:
  2. $ id root
  3. uid=0(root) gid=0(root) 组=0(root)
  4. # 如果是其他用户的话,可以将用户加入至root组来:usermod -G root 用户名
  5. $ usermod -G root renwoxing
  6. uid=1000(renwoxing) gid=1000(renwoxing) 组=1000(renwoxing),0(root)
  7. # 给es 目录赋予权限 ,我的用户 uid 是1000
  8. $ chown -R 1000 /root/es
  9. 创建容器:
  10. docker run -d --name es -p 9200:9200 -p 9300:9300 \
  11. --restart=always --privileged=true \
  12. -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" \
  13. -v $PWD/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
  14. -v $PWD/data:/usr/share/elasticsearch/data \
  15. -v $PWD/logs:/usr/share/elasticsearch/logs \
  16. elasticsearch:7.7.1
  17. -d:后台启动
  18. --name:容器名称
  19. -p:端口映射
  20. -e:设置环境变量
  21. discovery.type=single-node:单机运行
  22. 如果启动不了,可以加大内存设置:-e ES_JAVA_OPTS="-Xms512m -Xmx512m"
  23. 9200端口:为浏览器访问的 http 协议 RESTful 端口
  24. 9300 端口为 Elasticsearch 集群间组件的通信端口
  25. 此时打开浏览器:http://localhost:9200/,可以响应如下数据:
  26. {
  27. "name": "5bd8a096e91d",
  28. "cluster_name": "docker-cluster",
  29. "cluster_uuid": "cnEAk45MSjyudH2gYh6Qbw",
  30. "version": {
  31. "number": "7.7.1",
  32. "build_flavor": "default",
  33. "build_type": "docker",
  34. "build_hash": "ad56dce891c901a492bb1ee393f12dfff473a423",
  35. "build_date": "2020-05-28T16:30:01.040088Z",
  36. "build_snapshot": false,
  37. "lucene_version": "8.5.1",
  38. "minimum_wire_compatibility_version": "6.8.0",
  39. "minimum_index_compatibility_version": "6.0.0-beta1"
  40. },
  41. "tagline": "You Know, for Search"
  42. }
复制代码
 
 
2. ElasticSearch-Head <br><br> 为什么要安装ElasticSearch-Head呢,原因是需要有一个管理界面进行查看ElasticSearch相关信息
  1. $ docker pull mobz/elasticsearch-head:5
  2. $ docker run -d --name es_head -p 9100:9100 mobz/elasticsearch-head:5
复制代码
 

 
3. 安装logstash<br><br>数据收集处理引擎。支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储以供后续使用。
(1) 在/root/logstash/conf 路径下提前准备好一个配置文件logstash.yml 文件:
  1. $ mkdir logstash
  2. $ cd logstash
  3. $ vim logstash.yml
  4. http.host: "0.0.0.0"
  5. xpack.monitoring.elasticsearch.url: http://192.168.253.137:9200
  6. xpack.monitoring.elasticsearch.username: elastic
  7. xpack.monitoring.elasticsearch.password: changme
  8. path.config: /data/docker/logstash/conf.d/*.conf
  9. path.logs: /var/log/logstash
复制代码
 
(2) 编辑syslog.conf文件,此处先配置logstash直接采集本地数据发送至es
  1. $ vim /root/logstash/conf.d/syslog.conf
  2. input {
  3.   syslog {
  4.     type => "system-syslog"
  5.     port => 5044
  6.   }
  7. }
  8. output {
  9.   elasticsearch {
  10.     hosts => ["192.168.253.137:9200"]  # 定义es服务器的ip
  11.     index => "system-syslog-%{+YYYY.MM}" # 定义索引
  12.   }
  13. }
复制代码
 
(3) 编辑本地rsyslog配置增加:
  1. vim /etc/rsyslog.conf #增加一行,指向logstash
  2. *.* @@192.168.253.137:5044
复制代码
 
(4) 配置修改后重启服务
  1. systemctl restart rsyslog
复制代码
 
(5) 安装logstash
  1. $ docker pull logstash:7.7.1
  2. $ docker run -d --name logstash -p 5044:5044 \
  3. --restart=always --privileged=true \
  4. -v $PWD/conf/logstash.yml:/usr/share/logstash/config/logstash.yml \
  5. -v $PWD/conf.d:/data/docker/logstash/conf.d logstash:7.7.1
复制代码
 
PS:此处有个注意点,启动会提示找不到 /usr/share/logstash/config/logstash.yml 文件,注意需要添加--privileged=true参数
 
3. 安装 Kabana<br><br>(1) 下载镜像
  1. docker pull kibana:7.7.1
复制代码
 
(2) 安装kibana
  1. $ docker run --name kibana -p 5601:5601 -d -e ELASTICSEARCH_URL=http://192.168.253.137:9200 kibana:7.7.1
复制代码
 
(3) 修改kibana 容器的配置 /config/kibana.yml
  1. server.name: kibana
  2. server.host: "0"
  3. elasticsearch.hosts: [ "http://172.17.0.4:9200" ] #这个IP是es 容器内部的IP地址,docker inspect es 可以查看到
  4. monitoring.ui.container.elasticsearch.enabled: true
复制代码
 
kibana 启动有点慢,需要多等一会儿。
http://192.168.253.137:5601
 
9. 安装Consul<br><br>拉取Consul镜像
  1. $ docker pull consul # 默认拉取latest
  2. $ docker pull consul:1.6.1 # 拉取指定版本
复制代码
 
安装并运行
访问:http://localhost:8500
10. 安装 RocketMQ <br><br>首先,我们需要Docker-Compose环境。
首先我们需要创建docker-compose.yml配置文件。文件内容如下
  1. version: '3.5'
  2. services:
  3.   rmqnamesrv:
  4.     image: foxiswho/rocketmq:server-4.4.0
  5.     container_name: rmqnamesrv
  6.     ports:
  7.       - 9876:9876
  8.     volumes:
  9.       - ./logs:/opt/logs
  10.       - ./store:/opt/store
  11.     networks:
  12.         rmq:
  13.           aliases:
  14.             - rmqnamesrv
  15.   rmqbroker:
  16.     image: foxiswho/rocketmq:broker-4.4.0
  17.     container_name: rmqbroker
  18.     ports:
  19.       - 10909:10909
  20.       - 10911:10911
  21.     volumes:
  22.       - ./logs:/opt/logs
  23.       - ./store:/opt/store
  24.       - ./conf/broker.conf:/etc/rocketmq/broker.conf
  25.     environment:
  26.         NAMESRV_ADDR: "rmqnamesrv:9876"
  27.         JAVA_OPTS: " -Duser.home=/opt"
  28.         JAVA_OPT_EXT: "-server -Xms128m -Xmx128m -Xmn128m"
  29.     command: mqbroker -c /etc/rocketmq/broker.conf
  30.     depends_on:
  31.       - rmqnamesrv
  32.     networks:
  33.       rmq:
  34.         aliases:
  35.           - rmqbroker
  36.   rmqconsole:
  37.     image: styletang/rocketmq-console-ng:1.0.0
  38.     container_name: rmqconsole
  39.     ports:
  40.       - 8080:8080
  41.     environment:
  42.         JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
  43.     depends_on:
  44.       - rmqnamesrv
  45.     networks:
  46.       rmq:
  47.         aliases:
  48.           - rmqconsole
  49. networks:
  50.   rmq:
  51.     name: rmq
  52.     driver: bridge
复制代码
 
然后在与docker-compose.yml同级下面相应的建立三个文件夹conf、logs、store。然后在conf文件夹下面建立broker.conf配置文件,所有文件的目录位置如下所示。
  1. docker-compose.yml
  2. conf
  3.     - broker.conf
  4. logs
  5. store
复制代码
 
然后在编写broker.conf配置文件里面的内容
  1. # Licensed to the Apache Software Foundation (ASF) under one or more
  2. # contributor license agreements.  See the NOTICE file distributed with
  3. # this work for additional information regarding copyright ownership.
  4. # The ASF licenses this file to You under the Apache License, Version 2.0
  5. # (the "License"); you may not use this file except in compliance with
  6. # the License.  You may obtain a copy of the License at
  7. #
  8. #     http://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. #  Unless required by applicable law or agreed to in writing, software
  11. #  distributed under the License is distributed on an "AS IS" BASIS,
  12. #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. #  See the License for the specific language governing permissions and
  14. #  limitations under the License.
  15. # 所属集群名字
  16. brokerClusterName=DefaultCluster
  17. # broker 名字,注意此处不同的配置文件填写的不一样,如果在 broker-a.properties 使用: broker-a,
  18. # 在 broker-b.properties 使用: broker-b
  19. brokerName=broker-a
  20. # 0 表示 Master,> 0 表示 Slave
  21. brokerId=0
  22. # nameServer地址,分号分割
  23. # namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
  24. # 启动IP,如果 docker 报 com.alibaba.rocketmq.remoting.exception.RemotingConnectException: connect to <192.168.0.120:10909> failed
  25. # 解决方式1 加上一句 producer.setVipChannelEnabled(false);,解决方式2 brokerIP1 设置宿主机IP,不要使用docker 内部IP
  26. brokerIP1=10.255.52.130
  27. # 在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
  28. defaultTopicQueueNums=4
  29. # 是否允许 Broker 自动创建 Topic,建议线下开启,线上关闭 !!!这里仔细看是 false,false,false
  30. autoCreateTopicEnable=true
  31. # 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
  32. autoCreateSubscriptionGroup=true
  33. # Broker 对外服务的监听端口
  34. listenPort=10911
  35. # 删除文件时间点,默认凌晨4点
  36. deleteWhen=04
  37. # 文件保留时间,默认48小时
  38. fileReservedTime=120
  39. # commitLog 每个文件的大小默认1G
  40. mapedFileSizeCommitLog=1073741824
  41. # ConsumeQueue 每个文件默认存 30W 条,根据业务情况调整
  42. mapedFileSizeConsumeQueue=300000
  43. # destroyMapedFileIntervalForcibly=120000
  44. # redeleteHangedFileInterval=120000
  45. # 检测物理文件磁盘空间
  46. diskMaxUsedSpaceRatio=88
  47. # 存储路径
  48. # storePathRootDir=/home/ztztdata/rocketmq-all-4.1.0-incubating/store
  49. # commitLog 存储路径
  50. # storePathCommitLog=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/commitlog
  51. # 消费队列存储
  52. # storePathConsumeQueue=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/consumequeue
  53. # 消息索引存储路径
  54. # storePathIndex=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/index
  55. # checkpoint 文件存储路径
  56. # storeCheckpoint=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/checkpoint
  57. # abort 文件存储路径
  58. # abortFile=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/abort
  59. # 限制的消息大小
  60. maxMessageSize=65536
  61. # flushCommitLogLeastPages=4
  62. # flushConsumeQueueLeastPages=2
  63. # flushCommitLogThoroughInterval=10000
  64. # flushConsumeQueueThoroughInterval=60000
  65. # Broker 的角色
  66. # - ASYNC_MASTER 异步复制Master
  67. # - SYNC_MASTER 同步双写Master
  68. # - SLAVE
  69. brokerRole=ASYNC_MASTER
  70. # 刷盘方式
  71. # - ASYNC_FLUSH 异步刷盘
  72. # - SYNC_FLUSH 同步刷盘
  73. flushDiskType=ASYNC_FLUSH
  74. # 发消息线程池数量
  75. # sendMessageThreadPoolNums=128
  76. # 拉消息线程池数量
  77. # pullMessageThreadPoolNums=128
复制代码
 
配置文件中的内容我们只需要改动一点即可,即brokerIP1这个属性,我们将其更改为我们本机的ip,可以利用ipconfig进行查看。
修改完以后我们直接在docker-compose.yml文件所在的位置输入命令docker-compose up即可启动。启动成功以后在浏览器中输入http://localhost:8080/即可看到管理页面,就表示我们搭建成功了
11. 安装Nacos<br><br> 
 
访问:http://你的IP地址:8848/nacos
默认登录账号:nacos,密码:nacos
 
12. Sentry 安装<br><br>Sentry 是一款异常日志监控报警组件,非常强大
Sentry 安装的硬性条件
本人试过直接用Docker 镜像安装,过程会出现各种各样的问题,依赖的组件也多,我们选择直接用git 下载源码进行安装
 
如果一不小心将DSN忘记了,如果寻找DSN:?
Projects -> 选择你刚创建的项目 -> 点进去 -> 左上角点击设置小图标 -> 点击client keys(dsn)
  配套视频链接:全网首发java/.net双案例Docker精品课程,Docker 进阶教程(双语言双案例助力教学)-已完结_哔哩哔哩_bilibili
 <br><br>免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4