Docker安装Zookeeper、Kafka、MySQL

1、Docker 安装

①安装必要的一些系统工具

输入Linux指令:sudo yum install -y yum-utils

②添加软件源信息

输入Linux指令:sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

③安装Docker

输入Linux指令:sudo yum install -y docker-ce docker-ce-cli containerd.io

④创建daemon.json文件

输入Linux指令:sudo vi /etc/docker/daemon.json,内容如下

{
  "registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]
}

⑤开启Docker服务

输入Linux指令:sudo systemctl start docker

PS:如果需要修改daemon.json,则需要重启守护线程和docker,

命令如下:sudo systemctl daemon-reload

命令如下:sudo systemctl restart docker

⑥设置开机自启:sudo systemctl enable docker

⑦查看是否安装成功

输入Linux指令:sudo docker version 查看是否出现版本号

2、Docker Compose 编排

①下载Docker Compose

curl -SL "https://github.com/docker/compose/releases/download/v2.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

②给文件添加权限

输入Linux指令:sudo chmod +x /usr/local/bin/docker-compose

③检查Docker Compose是否安装成功

输入Linux指令:docker-compose -v 查看是否出现版本号

2.1 编辑 Zookeeper 配置文件

①创建docker-compose-zookeeper.yml

输入Linux指令:sudo vi /opt/composetest/docker-compose-zookeeper.yml

 version: '3.7'
 services:
   zookeeper:
     image: zookeeper
     ports:
       - "2181:2181"

2.2 编辑 Kafka 配置文件

①在宿主机创建个挂载目录

输入Linux指令:sudo mkdir /usr/local/kafka

②创建docker-compose-kafka.yml

输入Linux指令:sudo vi /opt/composetest/docker-compose-kafka.yml

 version: '3.7'
 services:
   zookeeper:
     image: zookeeper
     ports:
       - "2181:2181"
   kafka:
     image: wurstmeister/kafka
     ports:
       - "9092:9092"
     depends_on:
       - zookeeper
     environment:
       KAFKA_ADVERTISED_HOST_NAME: 192.168.30.201
       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
     volumes:
       # :前面没有的目录需要自己手动创建
       - /etc/hosts:/etc/hosts
       - /var/run/docker.sock:/var/run/docker.sock
       - /opt/docker/kafka/data:/kafka
       - /opt/docker/kafka/log:/opt/kafka/logs
   kafka-manager:
     image: sheepkiller/kafka-manager
     ports:
       - 9999:9000
     environment:
       ZK_HOSTS: zookeeper:2181

2.2 编辑MySQL 配置文件

①在宿主机创建个挂载目录

输入Linux指令:sudo mkdir /usr/local/mysql

②创建docker-compose-mysql.yml

输入Linux指令:sudo vi /opt/composetest/docker-compose-mysql.yml

version: '3.7'

services:

  mysql:  

# 本次是5.7版本没有窗口函数,后面可以跟换8以上支持窗口函数

    image: mysql:5.7

    container_name: mysql

    privileged: true #一定要设置为true,不然数据卷可能挂载不了,启动不起

    ports:

     - 3306:3306

    environment:

      MYSQL_ROOT_PASSWORD: root # 自己配置数据库密码

      TZ: Asia/Shanghai

      MYSQL_USER: root

      MYSQL_PASS: root

MYSQL_ROOT_HOST=%

    command:

      --character-set-server=utf8mb4

      --collation-server=utf8mb4_general_ci

      --explicit_defaults_for_timestamp=true

      --lower_case_table_names=1

      --max_allowed_packet=128M

      --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"

    volumes:

        - /home/opt/docker-v/mysql/data:/var/lib/mysql

        # volumes只能挂载文件夹,下面的命令可以挂载文件

        - type: bind  

            source: /home/opt/docker-v/mysql/config/my.cnf   #这个是宿主机的地址

             target: /etc/my.cnf                                    #这个是容器里配置文件的地址

设置远程连接登录,在MySQL命令端中输入:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

③开启防火墙

前提需要开启防火墙

输入Linux指令:sudo systemctl start firewalld

输入Linux指令:sudo firewall-cmd --zone=public --add-port=9092/tcp --add-port=2181/tcp --add-port=9999/tcp --permanent

④重启防火墙

输入Linux指令:sudo systemctl restart firewalld

⑤重启Dokcer服务

输入Linux指令:sudo systemctl restart docker

⑥启动Kafka容器

输入Linux指令:sudo docker-compose -f /opt/composetest/docker-compose-kafka.yml up -d

PS:如果root用户下提示sudo: docker-compose: command not found,则

输入Linux指令:docker-compose -f /opt/composetest/docker-compose-kafka.yml up -d 即可

⑦测试Kafka Manager管理界面

访问管理页面:http://ip:9999 查看是否启动成功

3、安装Docker Portainer 容器

①安装Portainer容器

输入Linux指令:sudo docker pull docker.io/portainer/portainer

②运行Portainer容器

docker run -d -p 8084:9000 --restart=always --name portainer -v /var/run/docker.sock:/var/run/docker.sock docker.io/portainer/portainer

③测试Portainer容器管理界面

访问管理页面:http://ip:8084 查看是否启动成功

PS:使用docker-kafka需要修改kafka的config下的server.properties

新增或者修改

advertised.listeners=PLAINTEXT://Kafka的ip:9092
advertised.host.name=0.0.0.0

Docker容器扩展:

列出所有的容器 ID
 docker ps -aq

停止所有的容器
sudo docker stop $(docker ps -aq)

删除所有的容器
sudo docker rm $(docker ps -aq)

删除所有的镜像
sudo docker rmi $(docker images -q)

如果提示没有权限在指令前面加个sudo

致语:Docker、dOcker、doCker、dockEr、dockeR、docKer

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值