docekr环境部署mysql、kafaka、kafka-manager和mongodb
一、docker环境部署mysql###
1、拉取mysql最新镜像
docker pull mysql:latest
2、运行mysql容器
docker run -p 33306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
3、可以使用docker -v 将mysql容器的配置文件目录和数据目录进行挂载,上面没有挂载目录(需要先启动下容器将配置文件cp至/etc/mysql目录下)
docker run -p 33306:3306 --restart=always --name mysql -v $PWD/conf:/etc/mysql -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
-
-p 33306:3306:将容器的 3306 端口映射到主机的 33306 端口。
-
-v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
-
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
-
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
4、使用navicat连接测试
二、docker环境部署kafka、kafka-manager###
1、拉取zookeeper和kafka、kafka-manager镜像(zookeeper是kafka的依赖)
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
docker pull solsson/kafka-manager:latest
2、运行zookeeper和kafka容器
docker run --name zookeeper -d -p 2181:2181 wurstmeister/zookeeper
docker run --name kafka -p 9092:9092 -e KAFKA_ZOOKEEPER_CONNECT=192.168.8.88:2181 -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -d wurstmeister/kafka
- KAFKA_ZOOKEEPER_CONNECT 指定 zookeeper 的地址:端口。
- ALLOW_PLAINTEXT_LISTENER 允许使用PLAINTEXT侦听器。
- KAFKA_ADVERTISED_LISTENERS 是指向Kafka代理的可用地址列表。 Kafka将在初次连接时将它们发送给客户。格式为 PLAINTEXT://host:port ,此处已将容器9092端口映射到宿主机9092端口,所以host指定为localhost,便可在宿主机执行测试程序连接 kafka。
- KAFKA_LISTENERS 是 Kafka 代理将侦听传入连接的地址列表。格式为 PLAINTEXT://host:port , 0.0.0.0代表接受所有地址。设置了上个变量就要设置此变量。
3、测试发送和接受消息
docker exec -it kafka bash
cd /opt/kafka_2.12-2.4.0/bin
创建一个topic:
./kafka-topics.sh --bootstrap-server localhost:9092 --create --replication-factor 1 --partitions 1 --topic mykafka
查看 topic 列表
./kafka-topics.sh --bootstrap-server localhost:9092 --list
查看指定 topic 相关信息
./kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic mykafka
指定 topic 发送消息
./kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka
消费消息
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic mykafka
4、部署kafka-manager管理工具
docker run -d --name kafka-manager \
--link zookeeper:zookeeper \
--link kafka:kafka -p 9001:9000 \
--restart=always \
--env ZK_HOSTS=zookeeper:2181 solsson/kafka-manager
部署成功的效果图
三、docker环境部署mongodb###
1、拉取mongodb最新镜像
docker pull mongo:latest
2、运行mongodb容器
docker run --name mongodb -d -p 27017:27017 -v /opt/mongo/data:/data/db mongo
3、使用studio 3T 连接mongodb测试
下一篇搭建docker私有registory(harbor)