Docker离线安装RabbitMQ

Docker离线安装RabbitMQ

1、进入docker hub,搜索rabbit镜像

https://registry.hub.docker.com/_/rabbitmq/
Docker离线安装RabbitMQ_第1张图片

2、进入官方的镜像,我们选择带有“management”的版本(包含web管理界面)

https://hub.docker.com/_/rabbitmq?tab=tags

Docker离线安装RabbitMQ_第2张图片

#通过以下方式无法查询到,问题未知

[root@localhost ~]# docker search 3.7.7-management
Error response from daemon: Get https://index.docker.io/v1/search?q=rabbitmq&n=25: x509: certificate has expired or is not yet valid
#解决办法一:
[root@localhost docker]# cd /etc/docker/
[root@localhost docker]# vim daemon.json
#添加内容:
{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]}
#重新启动docker
[root@localhost docker]# systemctl restart docker
#解决方法二(我的是这个原因导致的,一般都是本地系统时间错误导致报错证书过期,所以先查看本地系统时间):
[root@localhost docker]# date
2020年 08月 28日 星期五 14:16:11 CST
#修改本地时间:
[root@localhost docker]# date -s "2021-05-21 17:08:00"
2021年 05月 21日 星期五 17:08:00 CST
#再次搜索可以使用不报错

3、拉取镜像

[root@localhost docker]# docker pull rabbitmq:3.8.16-management
3.8.16-management: Pulling from library/rabbitmq
01bf7da0a88c: Pull complete 
f3b4a5f15c7a: Pull complete 
57ffbe87baa1: Pull complete 
5ef3ef76b1b5: Pull complete 
82a3ce07c0eb: Pull complete 
1da219d9bd70: Pull complete 
446554ac749d: Pull complete 
8e4c09e200e7: Pull complete 
7a8620611ebf: Pull complete 
c70a2924b273: Pull complete 
3b0b9e36b4e9: Pull complete 
7619a9a42512: Pull complete 
965a8e1f1b1c: Pull complete 
Digest: sha256:6c10ded1e4c69c1707de60e71ebabd93e65d1ef31fa91071c77389293bad8ffd
Status: Downloaded newer image for rabbitmq:3.8.16-management
docker.io/library/rabbitmq:3.8.16-management
#查看已经拉取的镜像
[root@localhost docker]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
rabbitmq            3.8.16-management   fc7a5d55df34        2 weeks ago         186MB

4、根据下载的镜像创建和启动容器

docker run -d --name rabbitmq3.8.16  -p 5672:5672 -p 15672:15672 -v /home/rabbitmq/data:/var/lib/rabbitmq --hostname my-rabbit  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin@2021 rabbitmq:3.8.16-management

#说明:
-d:后台运行容器
-p:指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号)
-v:映射目录或文件
-hostname:主机名(RabbitMQ的一个重要注意事项是它根据所谓的“节点名称”存储数据,默认为主机名)
**One of the important things to note about RabbitMQ is that it stores data based on what it calls the "Node Name", which defaults to the hostname. What this means for usage in Docker is that we should specify -h/--hostname explicitly for each daemon so that we don't get a random hostname and can keep track of our data.**
-e指定环境变量:(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

5、查看正在运行的容器

[root@localhost rabbit@my-rabbit]# docker ps
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                                                                                         NAMES
8852d7f2ec79        rabbitmq:3.8.16-management   "docker-entrypoint.s…"   3 minutes ago       Up 3 minutes        4369/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp, 15671/tcp, 15691-15692/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp   rabbitmq3.8.16

6、使用浏览器打开web管理端,访问地址:http://192.168.30.161:15672/
Docker离线安装RabbitMQ_第3张图片

​ 7、把镜像导出

docker save fc7a5d55df34 > rabbitmq.tar
#或者
docker save -o rabbitmq.tar fc7a5d55df34

8、镜像导入

docker load < rabbitmq.tar
或者
docker load -i rabbitmq.tar
#修改tag
docker tag fc7a5d55df34 rabbitmq:3.8.16-management

参考:

https://registry.hub.docker.com/_/rabbitmq/

https://www.cnblogs.com/yufeng218/p/9452621.html

你可能感兴趣的:(RabbitMQ,docker,rabbitmq)