Docker教程五之基于Centos7的 RabbitMQ 镜像

8 篇文章 0 订阅
8 篇文章 0 订阅

偶尔一次,公司项目要引入消息队列了,所以,研究了下MQ在Docker的环境,整理如下


数据库我采用 mysql

因为我对mysql第一次接触,所以    我也踩了不少坑

    1,数据库初始密码  mysql 5.7 开始,初始化密码的呈现方式有所改变

    2,数据库启动问题   mysql 5.7 开始, 启动文件命令有所改变

    3,镜像文件体积(优化了部分)


资源: erlang 18.3

           rabbitMQ 3.6.15


dockerfile文件

From centos:7

WORKDIR /usr/local

RUN yum update -y && \
yum clean all


RUN yum install -y gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget xz lsof dos2unix && \
yum clean all

ADD otp_src_18.3.tar.gz .

WORKDIR /usr/local/otp_src_18.3

RUN ./configure --prefix=/usr/local/erlang && \
make && make install

ENV ERL_HOME /usr/local/erlang

ENV PATH $PATH:$ERL_HOME/bin

WORKDIR /home

ADD rabbitmq-server-generic-unix-3.6.15.tar.xz .  
RUN mv rabbitmq_server-3.6.15 rabbitmq

ENV RABBITMQ_HOME /home/rabbitmq

ENV PATH $PATH:$RABBITMQ_HOME/sbin

ENTRYPOINT rabbitmq-plugins enable rabbitmq_management && rabbitmq-server

RUN sed -i 's/\[<<"guest">>\]/\[\]/g' ./rabbitmq/ebin/rabbit.app

EXPOSE 5672

EXPOSE 15672

CMD ["rabbitmq-server"]

因为我没有优化过过程,所以镜像文件体积还是会大很多,具体对于体积的优化, 我参考了:优化体积博客

内容具体是说:     

    我记着我很久前发表过一篇有关RabbitMQ 在 CentOS 7 中的安装教程,我还详细记得 RabbitMQ 需要Erlang的依赖所以下面需要注意:

    1,MQ 安装前对 Erlang 进行安装

    2,MQ 采用的解压版,所以并不需要安装,只需要配置环境变量和启动

    3,端口问题,我们暴露了2个端口, 5672(MQ访问),15672(管理工具)

    4,MQ默认来宾账户(guest)不可访问localhost, 所以,我设置了来宾账户允许访问,dockerfile中如下:

RUN sed -i 's/\[<<"guest">>\]/\[\]/g' ./rabbitmq/ebin/rabbit.app

 
编译:
docker build --no-cache --rm -t=rabbitmq:3.6 .
启动容器:
docker run -it -d -p 5673:5672 -p 15673:15672 --name=test rabbitmq:3.6



可以看我的码云:去码云看看

本章到此结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值