当前位置 博文首页 > 专注后台开发技术:docker搭建常见组件
? ? ? ? ?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
?
? ? ? ? ?
cs