一、Docker安装Redis

1、获取 redis 镜像

  1. docker pull redis

2、查看本地镜像

  1. 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持久化(可选)

image.png

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 mongo
    

    2、拉取镜像

    docker pull mongo
    

    3、运行容器

    docker run --name mongodb -p 27017:27017 -v $PWD/db:/data/db -d mongo:latest
    

    4、以 admin 用户身份进入mongo

    docker exec -it  mongodb  mongo admin
    

    5、创建一个 admin 管理员账号

    db.createUser({ user: 'admin', pwd: 'admin123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
    

    6、对 admin 用户 进行身份认证

    db.auth("admin","admin123456");
    

    7、创建 用户、密码和数据库

    用户zero
    密码123456
    数据库app
    db.createUser({ user: 'zero', pwd: '123456', roles: [ { role: "readWrite", db: "app" } ] });
    

    8、对 zero 进行身份认证

    db.auth("zero","123456");
    

    9、切换数据库

    use app
    

    10、添加数据

    向表test中添加数据
    db.test.save({name:"zhangsan"});
    

    11、查询数据

    db.test.find();
    

    三、Docker安装RabbitMQ

    1、查看仓库里的RabbitMQ

    docker search rabbitmq
    

    2、拉取RabbitMQ

    docker pull rabbitmq
    
    这里是直接安装最新的,如果需要安装其他版本在rabbitmq后面跟上版本号即可

    3、启动RabbitMQ

    docker run -d --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq
    

    4、安装插件

    先执行docker ps 拿到当前的镜像ID
    进入容器
    安装插件
    ctrl+p+q退出当前容器
    docker ps 
    docker exec -it 镜像ID /bin/bash
    rabbitmq-plugins enable rabbitmq_management
    

    5、访问验证

网络安装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