项目
博客
归档
资源链接
关于我
项目
博客
归档
资源链接
关于我
31.1 | Docker配置镜像(国内)&Docker安装Rabbitmq
2024-08-20
·
·
原创
·
·
本文共 506个字,预计阅读需要 2分钟。
### Docker配置镜像(国内) 国内的镜像很容易被屏蔽,导致docker pull失败,需要手动设置可以用的镜像。 #### 配置方式 创建或修改` /etc/docker/daemon.json`,我的系统是centos 7,其他的系统没有测试。 在`/daemon.json`文件中添加下面的镜像,其中的镜像可以替换成上面列出的镜像 ```json { "registry-mirrors": [ "https://
.mirror.aliyuncs.com", "https://dockerproxy.com", "https://mirror.baidubce.com", "https://docker.m.daocloud.io", "https://docker.nju.edu.cn", "https://docker.mirrors.sjtug.sjtu.edu.cn" ] } { "registry-mirrors": [ "https://docker.m.daocloud.io", "https://noohub.ru", "https://huecker.io", "https://dockerhub.timeweb.cloud", "https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com", "https://5tqw56kt.mirror.aliyuncs.com", "https://docker.1panel.live", "http://mirrors.ustc.edu.cn/", "http://mirror.azure.cn/", "https://hub.rat.dev/", "https://docker.ckyl.me/", "https://docker.chenby.cn", "https://docker.hpcloud.cloud", "https://docker.m.daocloud.io" ] } ``` 重新启动docker ```bash sudo systemctl daemon-reload sudo systemctl restart docker #或者 systemctl restart docker ``` 查看docker信息 ```bash docker info ``` #### 参考网站 > [Docker 镜像库国内加速的几种方法 ](https://zhuanlan.zhihu.com/p/655419673) > > [24年6月Docker国内镜像源失效办法 ](https://mp.weixin.qq.com/s/CkBJOVO8onYRYR0DmVXaWg) > > [Docker国内设置下载镜像 )](https://www.jianshu.com/p/ce25edea73f5) ### Docker安装Rabbitmq #### 找到对应镜像 进入docker hub镜像仓库地址:https://hub.docker.com/, 搜索框输入rabbitMq,进入官方的镜像,可以看到以下几种类型的镜像;我们可以选择直接安装rabbitMq,也可以选择带有“mangement”的版本(包含web管理页面) #### 直接拉取镜像 ```bash docker pull rabbitmq:3.13.6-management ``` #### 创建并运行容器 ```bash docker run -d --hostname rabbitmq --name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:latest #或者 docker run -d -i -t \ --name rabbitmq \ -p 5672:5672 \ -p 15672:15672 \ -v rabbitmq-plugins:/plugins \ -v `pwd`/data:/var/lib/rabbitmq \ --hostname MasterRabbit \ -e RABBITMQ_DEFAULT_VHOST=master \ -e RABBITMQ_DEFAULT_USER=admin \ -e RABBITMQ_DEFAULT_PASS=admin \ rabbitmq:latest ``` > 参数说明: > > - -d:后台运行容器; > - –name:指定容器名; > - -p:指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号); > - -v:映射目录或文件; > - –hostname:主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名); > - -e:指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码) > - rabbitmq-plugins:表示插件挂载的数据卷,使用命令docker volume inspect rabbitmq-plugins可查看其对应的虚拟机目录 > > 当然也可以不指定`-e`变量,默认用户名密码都是guest **现在通过[http://ip:15672](http://ip:15672/)是访问不了的,因为没有web管理插件** #### 安装web管理插件`rabbitmq_management` ```bash docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management ``` #### 解决一直弹窗问题 修改配置文件 通过命令我们可以看到错误:HTTP access denied: user 'guest' - User can only log in via localhost。 ```bash docker logs -f rabbitmq ``` 解决: - rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问。 - 如果想使用guest/guest通过远程机器访问,需要在rabbitmq配置文件中(/etc/rabbitmq/rabbitmq.config)中设置loopback_users为[]。 - /etc/rabbitmq/rabbitmq.config文件完整内容如下(注意后面的半角句号):[{rabbit, [{loopback_users, []}]}]. #### 解决:Stats in management UI are disabled on this node 进入容器: ```bash docker exec -it rabbitmq /bin/bash ``` 切到对应目录 ```bash cd /etc/rabbitmq/conf.d/ ``` 修改 **management_agent.disable_metrics_collector = false** ```bash echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf ``` 退出容器 ``` exit ``` 重启容器 ``` docker restart rabbitmq ``` #### 参考网站 > [Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node](https://blog.csdn.net/qq_25112523/article/details/124444129)