【打怪升级之路】kafka容器化到自动化的升级记录

安装docker

## 1. 安装yum-utils
yum install -y yum-utils

## 2. 配置阿里云源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

## 2.1 解决problem with installed package podman-1.6.4-10.的报错
yum erase podman buildah

## 3. 安装Docker
yum install -y docker-ce docker-ce-cli containerd.io --nobest

## 3.1 解决 Loaded plugins: fastestmirror 问题

	## 3.1.1 修改 fastestmirror 插件配置文件
	vim  /etc/yum/pluginconf.d/fastestmirror.conf
	## 将enable=1改为0
	
	## 3.1.2 修改yum配置文件
	vim /etc/yum.conf
	## 将plugins=1改为0
	
	## 3.1.3 清除yum缓存并重新构建源
	yum clean all
	rm -rf /var/cache/yum
	yum makecache
	
	## 3.1.4 重新执行安装docker命令
	yum install -y docker-ce docker-ce-cli containerd.io --nobest
	
## 3.2 解决Command line error: no such option: --nobest
	
	## 3.2.1 使用--skip-broken 替代--nobest
	yum install -y docker-ce docker-ce-cli containerd.io --skip-broken	
	
## 4. 启动docker, 开机自启动
systemctl start docker
systemctl enable docker


一些docker常用命令

#  以kafka为例

## 查看拉取的镜像
docker images

## 删除镜像, 前提是容器没在运行状态
docker rmi kafka

## 查看正在运行的容器
docker ps

## 开启,停止,重启容器
docker start kafka
docker stop kafka
docker restart kafka

## 删除容器
docker rm kafka

## 查看日志
docker logs -t -f kafka

## 进入容器内
docker exec -it kafka bash

虽然kafka2.8取消了zookeeper, 但在生产时还是得使用zookeeper

拉取镜像时可在镜像后加冒号和版本号

例如: docker pull wurstmeister/zookeeper:latest 表示拉取最新镜像,不写也表示拉取最新镜像

版本可从docker镜像官网查看

hub.docker.com

安装zookeeper

# docker拉取zookeeper, kafka镜像
docker pull wurstmeister/zookeeper

# 启动zookeeper容器
docker run -d 
    --name zookeeper \ # 容器命名
    -p 2181:2181 \ # 主机端口:容器端口, 端口映射
    --privileged=true -v \ # 容器以主机权限运行
    /etc/localtime:/etc/localtime \ # 使用主机时间当容器时间
    wurstmeister/zookeeper

安装kafka

# docker拉取kafka镜像
docker pull wurstmeister/kafka

# 启动kafka容器
docker run -d 
    --name kafka \
    -p 9092:9092 \
    --privileged=true \
    --link zookeeper \ # 将zookeeper与kafka链接起来
    -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \ # 配置链接zookeeper的地址
    -e KAFKA_BROKER_ID=0 \ # 默认-1, 需大于等于0才能正常使用
    # 如果kafka需要暴露给外网,则需要配置该属性,ip填写公网地址
    # 例如kafka部署在阿里云,而你想从本地连接kakfa,此时就需要配置
    -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://8.134.92.181:9092 \
    # 配置kafka真正的对外开放端口
    -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
    # 将本机目录挂载到容器内对象地址下, 需要--privileged=true配合
    # 前面是本机目录地址, 后面是容器内日志目录地址
    -v /opt/docker-kafka/logs:/kafka/logs \
    -t wurstmeister/kafka

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值