docker-compose方式安装kafka+zk

198 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第20天,点击查看活动详情

前言

  • 不得不说docker最近太火了,火到我所有的服务都是docker化了,后续准备将自己开发的服务docker化,那就docker全员化了。今天要说的是docker-compose。
  • 所谓的docker-compose 就是一个命令行工具,主要是用来定义和运行docker容器的,通过编写compose文件来定义我们镜像地址以及定义启动脚本。

过程

  • docker-compose 需要三步骤即可完成配置

  • 首先使用 Dockerfile 定义应用程序的环境

  • 其次使用 docker-compose.yml 定义构成应用程序的服务。这样他们在隔离的环境汇总一起运行了,也就是可以相互通信。

  • 最后执行docker-compose up 即可一键安装部署启动了。很是方便。

安装

  • 既然想使用docker-compose 那么我们需要首先安装下docker-compose.
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

  • 下载好后我们还需要赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose

  • 最后创建下链接即可

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

  • 注意意: 对于 alpine,需要以下依赖包: py-pip,python-dev,libffi-dev,openssl-dev,gcc,libc-dev,和 make。

编写yml

  • docker-compose安装好之后我们就可以编写docker-compose.yml 文件了。
  • 编写文件之前我们先梳理下docker-compose 的执行步骤吧。
  • docker-compose up 启动容器后我们就可以通过docker exec -it kafka bash 进入容器进行消息主题创建发布等操作来测试kafka工作是否正常了。同时也测试zookeeper工作是否正常了,因为zookeeper不正常或者kafka容器于zookeeper容器无法正常通信都回造成kafka消息发布不成功的。

容器可视化

  • 这里的可视化不是说docker的桌面版本,那个东西我压根不用,这里说的是kafka的可视化管理界面,这样我们测试消息发布就方便了,也可以通过他来观察消息的流向等操作了。

  • 这个工具就是sheepkiller/kafka-manager 通过他我们局可以像操作rabbitmq一样方便了。