前言
如果在线下载很慢,或无法下载安装依赖,可选择离线安装Docker!
一、Centos7安装Docker
Linux 内核:官方建议 3.10 以上,3.8以上可以尝试。
注意:本文的命令使用的是 root 用户登录执行,不是 root 的话所有命令前面要加 sudo。
1.查看当前的内核版本
右键打开终端,终端内输入以下命令,查看当前内核版本
uname -r
我的是3.10 ,满足条件
2.使用 root 权限更新 yum 包
yum -y update
3.安装Docker
3.1切换目录
cd /etc/yum.repos.d/
3.2 查看当前目录所有的镜像源
ll
3.3 配置阿里镜像源
3.3.1安装依赖
安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖**
yum install -y yum-utils device-mapper-persistent-data lvm2
3.3.2设置yum源
设置一个yum源,下面两个都可用,推荐阿里(二选一)
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo #(中央仓库)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #(阿里仓库)
3.3.3安装镜像源
yum install -y wget #如果没有安装wget需要执行
wget http://mirrors.163.com/docker-ce/linux/centos/docker-ce.repo
#(注意,需要在cd /etc/yum.repos.d/目录下执行该命令)
如上图所示,表示镜像源已经下载成功
3.3.4安装Docker Ce 社区版本
注意:安装之前先关闭防火墙
查看防火墙是否关闭
firewall-cmd --state
临时关闭
systemctl stop firewalld #(重启centos后失效)
开始安装
yum install -y docker-ce.x86_64
3.3.5查看是否安装成功
yum list installed | grep docker
#或者
docker --version #(或:docker version或:docker -v)
4.启动服务
启动
systemctl start docker
#或者
service docker start
检查docker进程的运行状态
systemctl status docker
#或者
service docker status
查看docker进程
ps -ef | grep docker
查看docker系统信息
docker info
5.配置阿里镜像加速
地址:https://cr.console.aliyun.com/cn-shenzhen/instances/mirrors(找自己对应生成的加速器地址,写到daemon.json文件中)
即CentOS终端中输入以下命令
vi /etc/docker/daemon.json
将上图红框内的内容复制到daemon.json文件,并保存退出(按ESC键→:→wq)
1)、进入docker目录:
cd /etc/docker/
2)、修改daemon的类型:
mv daemon.json daemon.conf
3)、[重启docker]:
systemctl daemon-reload && systemctl restart docker
4)、查看是否成功:
docker info
二、安装Kafka
我们需要拉取两个镜像,分别是kafka和zookeeper。
1.拉取镜像
打开一个终端,通过Docker Pull 命令拉取,直接复制使用即可。
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
如果docker对镜像pull的很慢,可以更改国内镜像源,这个已亲自尝试,很好用!
通过使用以下代码修改:
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2.启动镜像
需要启动zookeeper和kafka的镜像,并找到相应的container id。
启动zookeeper
docker run -d --name zookeeper --publish 2181:2181 --volume /etc/localtime:/etc/localtime wurstmeister/zookeeper:latest
启动kafka
docker run -d --name kafka --publish 9092:9092 --link zookeeper -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_ADVERTISED_HOST_NAME=localhost -e KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest
查看已启动的镜像,找到相应的 CONTAINER ID
docker ps
3.配置使用kafka
3.1进入kafka容器内部(第1个终端)
注意将${CONTAINER ID} 改为自己kafka对应的container id,通过docker ps命令查看得到!
docker exec -it ${CONTAINER ID} /bin/bash
3.2进入kafka模块目录
cd /opt/kafka_2.12-1.1.0
3.3创建topic
bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic mytopic
3.4创建生产者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mytopic
另开一个新的终端重复上面的步骤:
3.5*进入kafka容器内部(第2个终端)
注意将${CONTAINER ID} 改为自己kafka对应的container id,通过docker ps命令查看得到!
docker exec -it ${CONTAINER ID} /bin/bash
3.6进入kafka模块目录
cd /opt/kafka_2.12-1.1.0
3.7创建消费者
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytopic --from-beginning
3.8运行结果
在生产者终端输入要发送的消息,在消费者终端接收已发送的消息。