Docker:基于Docker对中间件进行配置、安装和使用操作合集

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

Docker是一个十分好用的工具,他可以让我们使用别人搭建好的环境快速上手中间件的使用,本文记录Docker对中间件进行操作的命令,涉及到中间件内容具体如下

  • rabbitmq
  • mongodb
  • redis
  • minio
  • nacos

一、rabbitmq

启动rabbitmq

docker run -d --hostname localhost --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:management

设置rabbitmq用户

进入rabbitmq容器内部
docker exec -i -t [rabbitmq容器id] bin/bash
设置外界访问用户

创建用户

rabbitmqctl add_user root 123456

对用户设置访问权限

rabbitmqctl set_permissions -p / root ".*" ".*" ".*"```

为创建的用户设置超级管理员角色

rabbitmqctl set_user_tags root administrator

查看rabbitmq中所有用户

rabbitmqctl list_users

退出rabbitmq容器内部

exit

二、mongodb

安装mongo

docker pull mongo

启动mongodb

docker run --name mongodb -p 27017:27017 -d mongo --auth

配置及使用mongodb

以admin用户进入容器

docker exec -it 51a5b5e05fe4 mongo admin

创建admin用户账号

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

退出mongo

exit

再次进入mongo容器
mongo 5.0版本以下可以使用的命令:

docker exec -it [容器id]  mongo admin

mongo 5.0版本以上可以使用的命令:

docker exec -it [容器id]  mongosh admin

进行身份验证

db.auth("root","root");

navicat连接mongodb进行数据测试

在这里插入图片描述
注意:如果是远程连接服务器,记得在服务器的防火墙添加相关端口开放规则

三、Redis

1.安装redis

docker pull redis

2.启动及配置redis

使用Docker对redis进行操作,要先在相关目录下创建redis的配置文件,原因如下

启动前需要先创建Redis外部挂载的配置文件 ( /home/redis/conf/redis.conf )
之所以要先创建 , 是因为Redis本身容器只存在 /etc/redis 目录 , 本身就不创建 redis.conf 文件
当服务器和容器都不存在 redis.conf 文件时, 执行启动命令的时候 docker 会将 redis.conf 作为目录创建 , 这并不是我们想要的结果 。

## 创建目录
mkdir -p /home/redis/conf
## 创建文件
touch /home/redis/conf/redis.conf

启动redis命令

docker run \
-d \
--name redis \
-p 6379:6379 \
--restart unless-stopped \
-v /home/redis/data:/data \
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf \
redis-server /etc/redis/redis.conf \
redis:bullseye 

在这里插入图片描述

查看redis是否运行

### 查看Docker运行中的容器
docker ps 
docker ps | grep redis

查看redis日志

docker logs redis

修改redis配置文件

vim /home/redis/conf/redis.conf

相关属性
在这里插入图片描述

3.使用redis

进入redis容器

### 通过 Docker 命令进入 Redis 容器内部
docker exec -it redis /bin/bash
docker exec -it redis bash
### 进入 Redis 控制台
redis-cli
### 添加一个变量为 key 为 name , value 为 bella 的内容
> set name bella
### 查看 key 为 name 的 value 值
> get name
 
 
### 或者也可以直接通过Docker Redis 命令进入Redis控制台 (上面两个命令的结合)
docker exec -it redis redis-cli

如果设置了密码,通过密码进入redis容器

## 进入Redis容器
docker exec -it redis /bin/bash
 
## 通过密码进入Redis控制台
>auth [你的密码]
>set [key] [value]

退出redis容器

exit

四、Nacos

1.安装Nacos

搜索Nacos镜像

docker search nacos

拉取Nacos镜像

docker pull nacos

2.启动Nacos

通过命令行启动nacos

docker run -d -e prefer_host_mode=本机ip(centos7的)  -e MODE=standalone  
 -v  /nacos/logs:/home/nacos/logs  -p 28999:8848  --name nacosdemo 
--restart=always   nacos/nacos-server        #使用的时候合成一段即可 docekr启动镜像命令

相关参数设置:
-v 某个容器的目录:映射centos上的某个目录
-p 外部访问端口:内部被映射端口
-e 环境变量设置
-d 后台运行
–name 容器的名称
–restart 重启策略

查看Nacos的相关日志

docker  ps     	#查看已经启动的容器
docker logs --since  10m   nacos的容器id      #查看指定容器的输出日志

这里的10m是查看10分钟内的相关日志,具体想查看的时长可以自己设置

3.使用Nacos

访问Nacos管理平台
网址:http://{ip:8848},访问Nacos管理平台,这里选用的是28999端口

五、Minio

1.安装Minio

docker pull minio/minio

这里拉取的是最新版本的minio,如果需要其他版本的,可以先搜索minio相关镜像,查阅资料,选取一个稳定版本

搜索minio版本

docker search minio/minio

2.配置Minio

一个用来存放配置,一个用来存储上传文件的目录

启动前需要先创建Minio外部挂载的配置文件( /home/minio/config),和存储上传文件的目录(/home/minio/data)

mkdir -p /home/minio/config
mkdir -p /home/minio/data

3.启动Minio

多行模式
docker run -p 9000:9000 -p 9090:9090 \
     --net=host \
     --name minio \
     -d --restart=always \
     -e "MINIO_ACCESS_KEY=minioadmin" \
     -e "MINIO_SECRET_KEY=minioadmin" \
     -v /home/minio/data:/data \
     -v /home/minio/config:/root/.minio \
     minio/minio server \
     /data --console-address ":9090" -address ":9000"
单行模式
docker run -p 9000:9000 -p 9090:9090      --net=host      --name minio      -d --restart=always      -e "MINIO_ACCESS_KEY=minioadmin"      -e "MINIO_SECRET_KEY=minioadmin"      -v /home/minio/data:/data      -v /home/minio/config:/root/.minio      minio/minio server      /data --console-address ":9090" -address ":9000"

9090端口指的是minio的客户端端口

MINIO_ACCESS_KEY :账号

MINIO_SECRET_KEY :密码(账号长度必须大于等于5,密码长度必须大于等于8位)

值得一提的是,在minio新发布的版本中,官方推荐我们使用

MINIO_ROOT_USER:账号
MINIO_ROOT_PASSWORD:账号

4.使用Minio

访问:http://{ip}:9090/login 用户名:密码 minioadmin:minioadmin

记得在服务器中开放你的客户端访问端口,如果本地使用的话则不需要

六、Nginx

1.获取Nginx

docker pull nginx	下载最新版Nginx镜像 (其实此命令就等同于 : docker pull nginx:latest )
docker pull nginx:xxx	下载指定版本的Nginx镜像 (xxx指具体版本号)

2.创建Nginx配置文件

启动前需要先创建Nginx外部挂载的配置文件( /home/nginx/conf/nginx.conf) 之所以要先创建 ,
是因为Nginx本身容器只存在/etc/nginx 目录 , 本身就不创建 nginx.conf 文件 当服务器和容器都不存在
nginx.conf 文件时, 执行启动命令的时候 docker会将nginx.conf 作为目录创建 , 这并不是我们想要的结果 。

3.启动Nginx,并将配置文件复制到宿主机

# 生成容器
docker run --name nginx -p 9001:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /home/nginx/

4.创建Nginx,并进行运行

# 直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx
 
# 删除正在运行的nginx容器
docker rm -f nginx

启动Nginx

docker run \
-p 9002:80 \
--name nginx \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx:latest

在这里插入图片描述
单行模式

docker run -p 9002:80 --name nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/log:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html -d nginx:latest

总结

中间件操作合集持续更新中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值