极速安装docker并部署nginx,redis,mysql,mongo,elasticsearch,kibana,rabbitmq,etcd,kafka

1,831 阅读3分钟

1.  安装docker

cd /etc/yum.repos.d/
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


yum install docker-ce -y                           #安装ce版(社区版)  ee为企业版
systemctl enable docker && systemctl start docker  #设置开机启动并立即启动docker

2.  部署nginx

docker run --name nginx -d -p 80:80  nginx:1.15       

3.  部署redis5

docker run --name redis -p 6379:6379 -d redis:5.0.7               #redis配置密码需在配置文件中设置
#进入redis容器
docker exec -it redis /bin/bash
#压力测试
redis-benchmark -n 100000 -q  

4.  部署mysql5.7

docker run --name mysql -e MYSQL_ROOT_PASSWORD=666666 -d -p 3306:3306 mysql:5.7

目录和配置文件挂载,配置文件需要提前创建好

docker run --name mysql -v /data/mysql/etc/my.cnf:/etc/mysql/my.cnf:rw \
-v /data/mysql/data:/var/lib/mysql:rw -v /data/mysql/logs:/var/log/mysql:rw \
-e MYSQL_ROOT_PASSWORD=666666 -e TZ=Asia/Shanghai -d -p 3306:3306 mysql:5.7 \
--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci

cat /data/mysql/etc/my.cnf

[mysqld]
server_id=1
log_bin = mysql-bin
binlog_format = ROW
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

5.  部署mongodb4.2.6

docker run -itd --name mongo -v /data/mongo/data:/data/db -p 27017:27017 mongo --auth

注意:默认数据是存在容器系统的/data/db目录下的  --auth是开启认证

5.1 设置密码

#进入容器
docker exec -it mongo bash

#连接到mongo
mongo

#查看当前版本
db.version()

#切换到admin库
use admin
#创建管理员权限用户
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
#认证
db.auth('admin','123456');
#创建普通读写 并指定库用户
db.createUser({ user:'user',pwd:'123456',roles:[ { role:'readWrite', db: 'testdb'}]});
#必须要在admin库认证
db.auth('user','123456')
#切换到testdb库
use testdb
#插入一条数据到person集合中
db.person.insert({name:'libai-go',age:18})
#查找person集合所有数据 
db.person.find({})

6.  部署elasticsearch

#创建一个网络,同一个网络的内的容器,可以通过localhost:port 通信,方便kibana访问es
docker network create somenetwork

#安装elasticsearch
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

7.  部署kibana

#安装kibana
docker run -d --name kibana --net somenetwork -p 5601:5601 kibana:7.6.2

访问http://ip:5601 打开kibana

8.  部署rabbitmq

#安装mq
docker run -itd --rm --hostname rabbitmq-server -v /data/docker/rabbitmq:/var/lib/rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:3.8.5-management

9.  部署etcd

#安装etcd
docker run -it -d --name etcd -p 2379:2379 -p 2380:2380  --env ALLOW_NONE_AUTHENTICATION=yes bitnami/etcd

#查看状态
docker exec -it etcd etcdctl endpoint status --cluster -w table

命令使用大全

www.orchome.com/620

集群docker搭建

blog.csdn.net/weixin\_426…

10.  部署kafka

因kafka依赖zookeeper,如果已有zk,可以跳过第二步

#1.创建一个单独网络
docker network create app-tier --driver bridge
#2.创建zk容器
docker run -d --name zookeeper-server \
    --network app-tier \
    -e ALLOW_ANONYMOUS_LOGIN=yes \
    bitnami/zookeeper:latest
#3.创建kafka容器
docker run -d --name kafka-server \
    --network app-tier \
    -e ALLOW_PLAINTEXT_LISTENER=yes \
    -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
    bitnami/kafka:latest
#4.创建kafka客户端容器 方便执行各种命令
docker run -it --rm \
    --network app-tier \
    -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
    bitnami/kafka:latest kafka-topics.sh --list  --zookeeper zookeeper-server:2181

11.  部署zookeeper

docker run --name zookeeper --restart always -d zookeeper:3.5

12.    网络版zk和kafka

docker run -d --name zookeeper -p 2181:2181 \
-v /etc/localtime:/etc/localtime wurstmeister/zookeeper
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.1.11:2181/kafka \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.11:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-v /etc/localtime:/etc/localtime wurstmeister/kafka
docker run -d --name kafka-map -p 8080:8080 -e DEFAULT_USERNAME=admin \
-e DEFAULT_PASSWORD=admin  dushixiang/kafka-map:latest