Docker安装中间件
文章目录
- Docker安装中间件
- 一、准备工作
- 二、安装Mysql-5.6
- 三、安装postgres
- 四、安装Redis
- 五、安装Zookeeper
- 六、安装kafka
一、准备工作
- 安装Docker
可通过这个点击此处阅读安装Docker 步骤 - 创建docker-compose启动网络
# 创建docker网络信息 网络名称可以自定义,之后在写docker-compose文件的时候会使用到
docker network create dong
- 环境变量说明
environment 代表Docker镜像运行中所需要的环境变量
所属环境 | 变量 | 变量说明 |
Mysql | MYSQL_ROOT_PASSWORD | 代表配置的mysql的密码 |
Postgres | POSTGRES_PASSWORD | 代表配置的postgres的密码 |
- 挂载目录说明
volumes 代表Docker运行时需要挂载哪些目录将Docker中文件挂载到本地持久化保存
所属环境 | 宿主机目录 | Docker目录 | 说明 |
Mysql | /home/software/mysql/data | /var/lib/mysql | MYSQL数据文件保存目录 |
Mysql | /home/software/mysql/logs | /logs | MYSQL日志文件保存目录 |
Postgres | /home/software/postgres/data | /var/lib/postgresql/data | Postgres数据文件保存目录 |
二、安装Mysql-5.6
- 准备docker-compose启动文件
version: "3.3"
services:
mysql:
container_name: mysql
image: mysql:5.6
logging:
driver: json-file
options:
max-file: "10"
max-size: "100m"
environment:
- MYSQL_ROOT_PASSWORD=123456
volumes:
- /home/software/mysql/data:/var/lib/mysql
- /home/software/mysql/logs:/logs
- /etc/localtime:/etc/localtime
restart: always
ports:
- 3306:3306/tcp
networks:
default:
external:
name: dong
- 启动镜像并
# 通过docker-compose 进行启动
docker-compose -f docker-compose.yaml up -d
# 查询当前服务器内运行镜像有哪些
docker ps
- 验证镜像是否可用
# 登录Mysql的Docker容器
docker exec -it mysql /bin/bash
# 命令行登录数据库
mysql -u root -p
# 输入刚刚配置完成的密码进行测试,出现下图代表登录成功
# Enter password:
三、安装postgres
- 准备docker-compose启动文件
version: "3.3"
services:
postgres:
container_name: postgres
image: postgres:latest
logging:
driver: json-file
options:
max-file: "10"
max-size: "100m"
restart: always
environment:
- POSTGRES_PASSWORD=1314521
volumes:
- /home/software/postgres/data:/var/lib/postgresql/data
ports:
- 5432:5432
networks:
default:
external:
name: dong
- 启动镜像
# 通过docker-compose 进行启动
docker-compose -f docker-compose.yaml up -d
# 查询当前服务器内运行镜像
docker ps
出现以下内容代表安装完成
- 验证镜像是否正常可以使用
# 登录docker 容器验证mysql 服务是否正常
docker exec -it postgres /bin/bash
# 切换postgres用户
su postgres
# 输入以下命令登录数据库
psql
# 查询当前运行库
\l
出现以下情况,代表安装完成了。下面就请尽情享用吧
四、安装Redis
- 准备docker-compose启动文件
version: "3.3"
services:
redis:
container_name: redis
image: redis:latest
logging:
driver: json-file
options:
max-file: "10"
max-size: "100m"
restart: always
ports:
- 6379:6379
networks:
default:
external:
name: dong
- 启动镜像
# 通过docker-compose 进行启动
docker-compose -f docker-compose.yaml up -d
# 查询当前服务器内运行镜像
docker ps
- 设置Redis密码
# 登录redis镜像
docker exec -it redis /bin/bash
# 运行redis客户端
redis-cli
# 查看redis的密码
config get requirepass
# 设置redis的密码
config set requirepass 123456
- 验证密码以及功能是否正常,
redis的使用可以参考官网给出的说明进行学习
# 登录redis镜像
docker exec -it redis /bin/bash
# 运行客户端
redis-cli
# 未认证用户,尝试读取所有keys后返回 (error) NOAUTH Authentication required.
# 认证用户
auth 123456
# 保存一个测试数据
set 1 2
# 读取保存的数据
get 1
# 读取所有的key值
keys *
五、安装Zookeeper
- 准备docker-compose.yaml文件
version: "3.3"
services:
zookeeper:
container_name: zookeeper
image: zookeeper:latest
logging:
driver: json-file
options:
max-file: "10"
max-size: "100m"
restart: always
volumes:
- /etc/localtime:/etc/localtime
ports:
- 2181:2181/tcp
networks:
default:
external:
name: dong
- 启动镜像
# 通过docker-compose 进行启动
docker-compose -f docker-compose.yaml up -d
# 查询当前服务器内运行镜像
docker ps
- 验证服务启动情况
# 连接本地zookeeper端口
telnet localhost 2181
# 输入命令获取zk信息
servr
# 得到以下内容,代表zookeeper安装完成
六、安装kafka
- 准备docker-compose.yaml文件
version: "3.3"
services:
kafka:
container_name: kafka
image: wurstmeister/kafka:latest
logging:
driver: json-file
options:
max-file: "100"
max-size: "1025m"
restart: always
environment:
- KAFKA_BROKER_ID=0
- KAFKA_ADVERTISED_HOST_NAME=192.168.0.217
- KAFKA_ZOOKEEPER_CONNECT=192.168.0.217:2181
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.217:9092
- KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092
volumes:
- /etc/localtime:/etc/localtime
ports:
- 9092:9092/tcp
networks:
default:
external:
name: dong
- 启动镜像
# 启动镜像之前一定要验证zookeeper是正在运行的,才可以运行kafka
docker-compose -f docker-compose.yaml up -d
# 查询当前服务器内运行镜像
docker ps
- 验证kafka是否可以使用
# 登录kafka容器
docker exec -it kafka /bin/bash
# 进入kafka脚本目录
cd /opt/kafka
# 创建kafka的topic --replication-factor(复制几份) 1 --partitions(分区) 1
sh bin/kafka-topics.sh --create --zookeeper 192.168.0.217:2181 --replication-factor 1 --partitions 1 --topic test
# 查询当前kafka中所有的topic
sh bin/kafka-topics.sh --list --zookeeper 192.168.0.217:2181
# 删除创建好的topic
bin/kafka-topics.sh --delete --topic test --zookeeper 192.168.0.217:2181
# 查看topic具体信息
sh bin/kafka-topics.sh --describe --zookeeper 192.168.0.217:2181 --topic test
# 创建发布者
sh bin/kafka-console-producer.sh --broker-list 192.168.0.217:9092 --topic test
# 创建订阅者
sh bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.217:9092 --topic test --from-beginning
# 查看有哪些kafka消费组
sh bin/kafka-consumer-groups.sh --bootstrap-server 192.168.0.217:9092 --list
# 查看具体消费者信息'''
sh bin/kafka-consumer-groups.sh --bootstrap-server 192.168.0.217:9092 --describe --group console-consumer-74501
后续内容持续更新中