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)

posted @ 2020-01-02 20:45  王诚意  阅读(756)  评论(0编辑  收藏  举报