前言
本文主要介绍如何使用 Docker 在本地快速搭建 SpringBoot 3 的开发环境(单机),其中包括 Redis,ZooKeeper,Kafka,Kafka-UI,Prometheus,Grafana 服务的安装。
版本说明
软件 | 版本 | 说明 |
---|
Docker | 24.0.7 | |
CentOS | 7.9 | 宿主机操作系统 |
Docker 安装
在本节中,将介绍 CentOS 7 如何安装 Docker。若使用的 Linux 系统是其他发行版,建议网上搜索对应的安装教程,这里不再累述。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
|
Docker 镜像加速
此步骤为可选操作。针对 Docker 客户端版本大于 1.10.0
的用户,可以通过修改 daemon
的配置文件 /etc/docker/daemon.json
来使用阿里云的镜像加速。值得一提的是,使用阿里云的镜像加速之前,需要在阿里云平台注册账号,并开通容器镜像服务。
1 2 3
| { "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"] }
|
提示
上述 https://xxxxx.mirror.aliyuncs.com
链接,是开通阿里云的镜像服务之后得到的。
创建配置文件
提示
在下述的两个配置文件中,都可以直接使用 Docker 容器的名称来替代容器的 IP 地址。
- 创建
prometheus.yml
配置文件,用于配置 Prometheus 的监控任务。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| global: scrape_interval: 15s evaluation_interval: 15s
scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090']
- job_name: 'redis' static_configs: - targets: ['redis:6379']
- job_name: 'kafka' static_configs: - targets: ['kafka:9092']
|
- 创建
docker-compose.yml
配置文件,用于 Docker Compose 管理容器,可以根据实际需求适当更改 Redis、Zookeeper、Kafka 镜像的版本号。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| version: '3.9'
services: redis: image: redis:latest container_name: redis restart: always ports: - "6379:6379" networks: - backend
zookeeper: image: bitnami/zookeeper:latest container_name: zookeeper restart: always environment: ALLOW_ANONYMOUS_LOGIN: yes ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 networks: - backend
kafka: image: bitnami/kafka:3.4.0 container_name: kafka restart: always depends_on: - zookeeper ports: - "9092:9092" environment: ALLOW_PLAINTEXT_LISTENER: yes KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 networks: - backend
kafka-ui: image: provectuslabs/kafka-ui:latest container_name: kafka-ui restart: always depends_on: - kafka ports: - "9095:8080" environment: KAFKA_CLUSTERS_0_NAME: dev KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:9092 networks: - backend
prometheus: image: prom/prometheus:latest container_name: prometheus restart: always volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml ports: - "9090:9090" networks: - backend
grafana: image: grafana/grafana:latest container_name: grafana restart: always depends_on: - prometheus ports: - "3000:3000" networks: - backend
networks: backend: name: backend
|
启动 Docker 容器
1 2 3 4 5
| docker compose up -d
docker compose ps -a
|
测试 Docker 容器
若可以使用以下地址访问对应的应用,则说明对应的 Docker 容器正常运行(请自行更改 IP 地址)。
应用 | 访问地址 | 说明 |
---|
Redis | 192.168.1.130:6379 | |
Zookeeper | 192.168.1.130:2181 | |
Kafka | 192.168.1.130:9092 | |
Kafka-UI | http://192.168.1.130:9095 | 浏览器可以直接访问 |
Grafana | http://192.168.1.130:3000 | 浏览器可以直接访问 |
Prometheus | http://192.168.1.130:9090 | 浏览器可以直接访问 |
Grafana 默认登录账号
Grafana 登录的默认用户名称是 admin
,用户密码是 admin
。值得一提的是,首次登录 Grafana 会提示更改用户名和密码。
相关教程推荐