docker安装环境比较简单,docker一键启动和停止。
docker安装consul
docker pull consul //下载consul镜像
export GoEnvironment=local //选择consul的环境
export ConsulUrl=http://127.0.0.1:8500 //指定Consu地址
docker run -d --name=cs -p 8500:8500 consul agent -server -bootstrap -ui -client 0.0.0.0 //启动consul
-d 启动容器后台运行,并返回ID;
-p xxxx:aaa (port)把容器的aaa端口映射到宿主机的xxxx端口
agent Runs a Consul agent
-server 代表以服务端的方式启动
-boostrap 指定自己为leader,而不需要选举
-ui 启动一个内置管理web界面
-client 指定客户端可以访问的IP。设置为0.0.0.0 则任意访问,否则默认本机可以访问
docker安装mysql
docker pull mysql:5.7 //下载mysql镜像
docker run --name mysql -d -p 3306:3306 \
-v /Users/xxx/mysql/data:/data \
-v /Users/xxx/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 //启动mysql
//配置到my.cnf
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
datadir=/data
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
default-storage-engine=INNODB
docker安装redis
docker pull redis
docker run -itd --name redis -p 6379:6379 redis
-i 以交互模式运行容器,通常与 -t 同时使用
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d 后台运行容器,并返回容器ID
docker安装zookeeper
docker pull wurstmeister/zookeeper //下载镜像
docker run -d --name zk -p 2181:2181 wurstmeister/zookeeper:latest //启动zookeeper
docker安装kafka
docker pull wurstmeister/kafka
docker run -d --name kafka -p 9092:9092 --link zk -e \
KAFKA_ZOOKEEPER_CONNECT=zk:2181 -e \
KAFKA_ADVERTISED_HOST_NAME=192.168.1.18 -e \
KAFKA_ADVERTISED_PORT=9092 -e \
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.18:9092 -e \
KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -e KAFKA_BROKER_ID=0 \
wurstmeister/kafka
//测试kafka
docker exec -it kafka /bin/bash
cd opt/kafka_2.12-2.4.1
./bin/kafka-topics.sh --create --zookeeper 192.168.1.18:2181 --replication-factor 1 --partitions 1 --topic imsystemmsg
//运行kafka生产者发送消息:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic imsystemmsg
发送消息
> hello
//运行kafka消费者接收消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic imsystemmsg --from-beginning
./bin/kafka-topics.sh --delete --zookeeper 192.168.1.11:2181 --topic imsystemmsg