当前位置:   article > 正文

【RabbitMQ】【Docker】基于docker-compose构建rabbitmq容器_rabbitmq docker compose_docker-compose rabbitmq

docker-compose rabbitmq

Server: Docker Engine - Community
Engine:
Version: 25.0.3
API version: 1.44 (minimum version 1.24)
Go version: go1.21.6
Git commit: f417435
Built: Tue Feb 6 21:16:08 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.28
GitCommit: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e94
docker-init:
Version: 0.19.0
GitCommit: de40ad0

[root@192 bin]# docker-compose version
Docker Compose version v2.24.6


### 2,构建dockerfile,启动容器


docker-compose在/usr/local/bin里,我们就在/usr/local下构建一个docker-compose目录,里面再构建各级不同容器的目录,用于构建dockerfile和挂载目录[3]。



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

[root@192 bin]# cd /usr/local
[root@192 local]# ls
bin docker-mount etc games include lib lib64 libexec mongodb mycat mysql sbin share src
[root@192 local]# mkdir docker-compose
[root@192 local]# ls
bin docker-mount games lib libexec mycat sbin src
docker-compose etc include lib64 mongodb mysql share
[root@192 local]# cd docker-compose/
[root@192 docker-compose]# mkdir rabbitmq
[root@192 docker-compose]# cd rabbitmq/


在其中构建dockerfile



  • 1
  • 2
  • 3
  • 4
  • 5

[root@192 rabbitmq]# vim docker-compose.yml


内容如下:



  • 1
  • 2
  • 3
  • 4
  • 5

version: ‘3.1’
services:
rabbitmq:
restart: always
image: daocloud.io/library/rabbitmq:3.8.8
volumes:
- ./data/:/var/lib/rabbitmq/
- ./log/:/var/log/rabbitmq/log/
ports:
- 15672:15672
- 5672:5672


启动rabbitmq的容器,curl其端口看一下是否正常返回AMQP,docker ps看一下容器名字是什么,后面进入容器内部用得上。



  • 1
  • 2
  • 3
  • 4
  • 5

[root@192 rabbitmq]# docker-compose up -d
[+] Running 11/11
✔ rabbitmq 10 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled 40.5s
✔ 5d9821c94847 Pull complete 25.6s
✔ a610eae58dfc Pull complete 0.4s
✔ a40e0eb9f140 Pull complete 0.4s
✔ d691f0af2920 Pull complete 1.3s
✔ 53d0225d76e3 Pull complete 31.4s
✔ 7c993fe17403 Pull complete 1.6s
✔ 0d9ec409b148 Pull complete 16.0s
✔ 59a47a965242 Pull complete 16.3s
✔ e0f8eb2a167a Pull complete 16.5s
✔ 75f84d813186 Pull complete 16.8s
[+] Running 1/2
⠴ Network rabbitmq_default Created 1.4s
✔ Container rabbitmq-rabbitmq-1 Started 1.3s
#返回AMQP为正常返回
[root@192 rabbitmq]# curl localhost:5672
AMQP [root@192 rabbitmq]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
39dc5f01ded3 daocloud.io/library/rabbitmq:3.8.8 “docker-entrypoint.s…” About a minute ago Up About a minute 4369/tcp, 0.0.0.0:5672->5672/tcp, :::5672->5672/tcp, 5671/tcp, 15691-15692/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp, :::15672->15672/tcp rabbitmq-rabbitmq-1


启动的时候,有的时候会报错,



  • 1
  • 2
  • 3
  • 4
  • 5

Error response from daemon: Head “https://daocloud.io/v2/library/rabbitmq/manifests/3.8.8”: Get “https://daohub-auth.daocloud.io/auth?scope=repository%3Alibrary%2Frabbitmq%3Apull&service=daocloud.io”: net/http: request canceled (Client.Timeout exceeded while awaiting headers)


解决方法就是多试几次命令就好[4]。


### 3,进入容器,配置可视化界面


进入容器,进入其/opt/rabbitmq目录,其中plugins和sbin目录书我们需要注意的。进入容器时用到的容器名字,是docker ps时查看到的rabbitmq容器的名字。



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

[root@192 rabbitmq]# docker exec -it rabbitmq-rabbitmq-1 /bin/bash
root@39dc5f01ded3:/# cd /opt/rabbitmq/
root@39dc5f01ded3:/opt/rabbitmq# ls
INSTALL LICENSE-BSD-base64js LICENSE-MIT-Flot LICENSE-MPL etc
LICENSE LICENSE-BSD-recon LICENSE-MIT-Mochi LICENSE-MPL-RabbitMQ plugins
LICENSE-APACHE2 LICENSE-ISC-cowboy LICENSE-MIT-Sammy LICENSE-erlcloud sbin
LICENSE-APACHE2-ExplorerCanvas LICENSE-MIT-EJS LICENSE-MIT-Sammy060 LICENSE-httpc_aws share
LICENSE-APACHE2-excanvas LICENSE-MIT-EJS10 LICENSE-MIT-jQuery LICENSE-rabbitmq_aws
LICENSE-APL2-Stomp-Websocket LICENSE-MIT-Erlware-Commons LICENSE-MIT-jQuery164 escript


进入plugins目录,可以看到一个 rabbitmq\_management-3.8.8.ez,是可视化界面需要用到的脚本,复制rabbitmq\_management,版本号不用记。



  • 1
  • 2
  • 3
  • 4
  • 5

root@39dc5f01ded3:/opt/rabbitmq/plugins# ls
README rabbitmq_federation-3.8.8.ez
accept-0.3.5.ez rabbitmq_federation_management-3.8.8.ez
amqp10_client-3.8.8.ez rabbitmq_jms_topic_exchange-3.8.8.ez
amqp10_common-3.8.8.ez rabbitmq_management-3.8.8.ez
amqp_client-3.8.8.ez rabbitmq_management_agent-3.8.8.ez
aten-0.5.5.ez rabbitmq_mqtt-3.8.8.ez
base64url-0.0.1.ez rabbitmq_peer_discovery_aws-3.8.8.ez

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-cV2rDSaf-1713037720755)]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/894842
推荐阅读
相关标签
  

闽ICP备14008679号