Docker安装中间件


文章目录

  • Docker安装中间件
  • 一、准备工作
  • 二、安装Mysql-5.6
  • 三、安装postgres
  • 四、安装Redis
  • 五、安装Zookeeper
  • 六、安装kafka


一、准备工作

  1. 安装Docker
    可通过这个点击此处阅读安装Docker 步骤
  2. 创建docker-compose启动网络
# 创建docker网络信息  网络名称可以自定义,之后在写docker-compose文件的时候会使用到
docker network create dong
  1. 环境变量说明
    environment 代表Docker镜像运行中所需要的环境变量

所属环境

变量

变量说明

Mysql

MYSQL_ROOT_PASSWORD

代表配置的mysql的密码

Postgres

POSTGRES_PASSWORD

代表配置的postgres的密码

  1. 挂载目录说明
    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

  1. 准备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
  1. 启动镜像并
# 通过docker-compose 进行启动
docker-compose -f docker-compose.yaml up -d
# 查询当前服务器内运行镜像有哪些
docker ps

docker算中间件吗 docker属于中间件吗_容器

  1. 验证镜像是否可用
# 登录Mysql的Docker容器
docker exec -it mysql /bin/bash
# 命令行登录数据库
mysql -u root -p
# 输入刚刚配置完成的密码进行测试,出现下图代表登录成功
# Enter password:

docker算中间件吗 docker属于中间件吗_docker算中间件吗_02

三、安装postgres

  1. 准备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
  1. 启动镜像
# 通过docker-compose 进行启动
docker-compose -f docker-compose.yaml up -d
# 查询当前服务器内运行镜像
docker ps

出现以下内容代表安装完成

docker算中间件吗 docker属于中间件吗_中间件_03

  1. 验证镜像是否正常可以使用
# 登录docker 容器验证mysql 服务是否正常
docker exec -it postgres /bin/bash
# 切换postgres用户
su postgres
# 输入以下命令登录数据库
psql
# 查询当前运行库
\l

出现以下情况,代表安装完成了。下面就请尽情享用吧

docker算中间件吗 docker属于中间件吗_中间件_04

四、安装Redis

  1. 准备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
  1. 启动镜像
# 通过docker-compose 进行启动
docker-compose -f docker-compose.yaml up -d
# 查询当前服务器内运行镜像
docker ps

docker算中间件吗 docker属于中间件吗_docker_05

  1. 设置Redis密码
# 登录redis镜像
docker exec -it redis /bin/bash
# 运行redis客户端
redis-cli
# 查看redis的密码
config get requirepass
# 设置redis的密码
config set requirepass 123456
  1. 验证密码以及功能是否正常,redis的使用可以参考官网给出的说明进行学习
# 登录redis镜像
docker exec -it redis /bin/bash
# 运行客户端
redis-cli
# 未认证用户,尝试读取所有keys后返回 (error) NOAUTH Authentication required.
# 认证用户
auth 123456
# 保存一个测试数据
set 1 2
# 读取保存的数据
get 1
# 读取所有的key值
keys *

docker算中间件吗 docker属于中间件吗_docker算中间件吗_06

五、安装Zookeeper

  1. 准备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
  1. 启动镜像
# 通过docker-compose 进行启动
docker-compose -f docker-compose.yaml up -d
# 查询当前服务器内运行镜像
docker ps
  1. 验证服务启动情况
# 连接本地zookeeper端口
telnet localhost 2181
# 输入命令获取zk信息
servr
# 得到以下内容,代表zookeeper安装完成

docker算中间件吗 docker属于中间件吗_kafka_07

六、安装kafka

  1. 准备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
  1. 启动镜像
# 启动镜像之前一定要验证zookeeper是正在运行的,才可以运行kafka
docker-compose -f docker-compose.yaml up -d
# 查询当前服务器内运行镜像
docker ps
  1. 验证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

docker算中间件吗 docker属于中间件吗_docker算中间件吗_08

后续内容持续更新中