创建静态网段
docker network create --subnet 172.18.0.1/16 net_docker
docker inspect net_docker
mysql
#1、下载并安装
docker search mysql
docker pull mysql
#2、启动mysql
docker run -p 3308:3306 --name mysql_docker -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d --net net_docker --ip 172.18.0.2 mysql
#3、进入容器
docker exec -it mysql_docker bash
#4、登录mysql
mysql -u root -p
#密码:root
mongo
#1、下载并安装
docker search mongo
docker pull mongo
#2、启动mongo
docker run --name mongo_docker -p 27117:27017 -v $PWD/mongodb/data:/data/db -v $PWD/mongodb/backup:/data/backup --net net_docker --ip 172.18.0.3 -d mongo --auth
#3、进入mongo
docker exec -it mongo_docker mongo admin
#4、创建用户
db.createUser({ user: "zpp", pwd: "zpp", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })
db.auth("zpp","zpp")
use test;
db.createUser({user:"testuser",pwd:"testpass",roles:["readWrite"]});
db.auth("testuser","testpass")
zookeeper
#1、下载
docker pull zookeeper
#2、启动
docker run --net net_docker --ip 172.18.0.4 --name zookeeper_docker -p 2181:2181 -d zookeeper
docker exec -it zookeeper_docker bash
kafka
docker pull ches/kafka
#kafka_node1
docker run -d --name kafka_docker -p 9092:9092 --env KAFKA_ADVERTISED_PORT=9092 --env KAFKA_PORT=9092 --env KAFKA_BROKER_ID=0 \
--env KAFKA_ADVERTISED_HOST_NAME=kafka_node1 --env ZOOKEEPER_CONNECTION_STRING=172.18.0.4:2181 \
--net net_docker --ip 172.18.0.5 ches/kafka
docker exec -it kafka_docker bash
#kafka_node2
docker run -d --name kafka_docker_slave1 -p 9093:9093 -p 7204:7203 --env KAFKA_ADVERTISED_PORT=9093 --env KAFKA_PORT=9093 --env KAFKA_BROKER_ID=1 \
--env KAFKA_ADVERTISED_HOST_NAME=kafka_node2 --env ZOOKEEPER_CONNECTION_STRING=172.18.0.4:2181 \
--net net_docker --ip 172.18.0.6 ches/kafka
docker exec -it kafka_docker_slave1 bash
#kafka_node3
docker run -d --name kafka_docker_slave2 -p 9094:9094 -p 7205:7203 --link zookeeper_docker:zookeeper --env KAFKA_ADVERTISED_PORT=9094 --env KAFKA_PORT=9094 --env KAFKA_BROKER_ID=2 \
--env KAFKA_ADVERTISED_HOST_NAME=kafka_node3 --env ZOOKEEPER_CONNECTION_STRING=172.18.0.4:2181 \
--net net_docker --ip 172.18.0.7 ches/kafka
docker exec -it kafka_docker_slave2
#####################宿主hosts 配置########################
127.0.0.1 kafka_node1
127.0.0.1 kafka_node2
127.0.0.1 kafka_node3
redis
#1.下载安装
docker search redis
docker pull redis
#2.运行容器
docker run --name redis_docker -p 6379:6379 -v $PWD/data/redis:/data --net net_docker --ip 172.18.0.8 -d redis redis-server --appendonly yes
##命令说明:
##-p 6379:6379 : 将容器的6379端口映射到主机的6379端口
##-v $PWD/data:/data : 将主机中当前目录下的data挂载到容器的/data
##redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
#连接
docker exec -it redis_docker redis-cli
RabbitMQ
docker search rabbitmq
docker pull rabbitmq
docker run -d --name rabbitmq_docker -p 15672:15672 -p 5672:5672 --net net_docker --ip 172.18.0.9 rabbitmq
docker exec -it rabbitmq_docker bash
#启动管理端(http://ip:15672/#/)
rabbitmq-plugins enable rabbitmq_management
#创建用户并授权
rabbitmqctl add_user zpp zpp
rabbitmqctl set_user_tags zpp administrator
这个virtual host "/"中所有资源的配置、写、读权限以便管理其中的资源
rabbitmqctl set_permissions -p / zpp '.*' '.*' '.*'
在管理端创建队列someQueue