一、Docker安装Redis
1、获取 redis 镜像
docker pull redis
2、查看本地镜像
docker images
3、从官网获取 redis.conf 配置文件
cd /usr/local/docker //进入目录
wget http://download.redis.io/redis-stable/redis.conf //下载redis配置文件
vim redis.conf //修改配置文件
- bind 127.0.0.1 => bind 0.0.0.0 #这是限制redis只能本地访问
- protected-mode no #默认yes,开启保护模式,限制为本地访问
- daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败
- dir ./ #输入本地redis数据库存放文件夹(可选)
- appendonly yes #redis持久化(可选)
4、docker 启动 redis
docker run -p 6379:6379 --name redis -v /root/gerry/redis/redis.conf:/etc/redis/redis.conf -v /root/gerry/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
- -p 6380:6380 端口映射:前表示主机部分,:后表示容器部分。
- –name myredis 指定该容器名称,查看和进行操作都比较方便。
- -v 挂载目录,规则与端口映射相同。
- -d redis 表示后台启动redis
- redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
- appendonly yes 开启redis 持久化
5、查看redis状态
6、进入redis
docker exec -it redis /bin/bash二、Docker安装MongoDB
1、查询mongo镜像
docker search mongo2、拉取镜像
docker pull mongo3、运行容器
docker run --name mongodb -p 27017:27017 -v $PWD/db:/data/db -d mongo:latest4、以 admin 用户身份进入mongo
docker exec -it mongodb mongo admin5、创建一个 admin 管理员账号
db.createUser({ user: 'admin', pwd: 'admin123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });6、对 admin 用户 进行身份认证
db.auth("admin","admin123456");7、创建 用户、密码和数据库
用户zero
密码123456
数据库appdb.createUser({ user: 'zero', pwd: '123456', roles: [ { role: "readWrite", db: "app" } ] });8、对 zero 进行身份认证
db.auth("zero","123456");9、切换数据库
use app10、添加数据
向表test中添加数据db.test.save({name:"zhangsan"});11、查询数据
db.test.find();三、Docker安装RabbitMQ
1、查看仓库里的RabbitMQ
docker search rabbitmq2、拉取RabbitMQ
这里是直接安装最新的,如果需要安装其他版本在rabbitmq后面跟上版本号即可docker pull rabbitmq3、启动RabbitMQ
docker run -d --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq4、安装插件
先执行docker ps 拿到当前的镜像ID 进入容器 安装插件 ctrl+p+q退出当前容器 docker ps docker exec -it 镜像ID /bin/bash rabbitmq-plugins enable rabbitmq_management5、访问验证
网络安装rabbitmq教程
拉取镜像
docker pull rabbitmq:management
启动容器
docker run -d —name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management
【RABBITMQ_DEFAULT_USER=admin RABBITMQ_DEFAULT_PASS=admin】是web管理平台的用户名和密码
【 -p 15672:15672】 是web端访问端口
【 -p 5672:5672】 是应用程序的访问端口
四、Docker安装Kafka
1、拉取zookeeper镜像
docker pull wurstmeister/zookeeper
2、拉取kafka镜像
docker pull wurstmeister/kafka
3、后台启动zookeeper
docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper
-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间
4、后台启动kafka
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.3.249/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.3.249:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka
-e KAFKA_BROKER_ID=0 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
-e KAFKA_ZOOKEEPER_CONNECT=宿主机ip地址:2181/kafka 配置zookeeper管理kafka的路径宿主机ip地址:2181/kafka
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://宿主机ip地址:9092 把kafka的地址端口注册给zookeeper
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口
其他问题
如:一直启动失败
问题解决
使用 -it 查看容器内部
docker run -it –name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=宿主机ip地址7/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://宿主机ip地址:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka
发现启动内存不足
使用如下命令
docker run -d –name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.3.249/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.3.249:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -e KAFKA_HEAP_OPTS=“-Xmx256m -Xms256m” -v /etc/localtime:/etc/localtime wurstmeister/kafka
-e KAFKA_HEAP_OPTS=“-Xmx256m -Xms256m” 配置容器的启动所用内存
默认的是KAFKA_HEAP_OPTS=“-Xmx1G -Xms1G”
五、Docker安装Nginx
1、拉取Nginx镜像
docker pull nginx
2、运行Nginx容器
docker run -d --name mynginx -p 80:80 -v /root/gerry/nginx/nginx.conf:/etc/nginx/nginx.conf -v /root/gerry/nginx/logs:/var/log/nginx -v /root/gerry/nginx/html:/usr/share/nginx/html -v /gerry/nginx/conf:/etc/nginx/conf.d --privileged=true nginx
3、测试nginx部署结果
六、Docker安装Elasticsearch
1、拉取镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.14.0
2、启动elasticsearch
docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.14.0
