Docker安装中间件
一、准备工作
-
安装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
后续内容持续更新中