创建目录,下载软件包,编写Dockerfile
[root@localhost rabbitmq]# ls
Dockerfile rabbitmq-delayed-message-exchange-3.8.9.tar.gz
otp_src_23.2.7.tar.gz rabbitmq-server-generic-unix-3.8.13.tar.xz
[root@localhost rabbitmq]# cat Dockerfile
FROM daocloud.io/library/centos:7
RUN yum install -y ncurses-devel openssl-devel unixODBC-devel gcc perl xmlto glibc-devel gcc-c++ make && yum clean all
ADD otp_src_23.2.7.tar.gz /usr/local
RUN cd /usr/local/otp_src_23.2.7 \
&& mkdir /usr/local/erlang \
&& ./configure --prefix=/usr/local/erlang \
&& make && make install
ENV ERLANG_HOME /usr/local/erlang
ENV PATH=$ERLANG_HOME/bin:$PATH
RUN erl -version
ADD rabbitmq-server-generic-unix-3.8.13.tar.xz /usr/local
RUN cd /usr/local/ \
&& mv rabbitmq_server-3.8.13 rabbitmq
ADD rabbitmq-delayed-message-exchange-3.8.9.tar.gz /usr/local/rabbitmq/plugins/
ENV PATH $PATH:/usr/local/rabbitmq/sbin
ENV LC_ALL en_US.UTF-8
EXPOSE 5672
EXPOSE 15672
ENTRYPOINT rabbitmq-server && rabbitmq-plugins enable rabbitmq_management
CMD ["/usr/local/rabbitmq/sbin/rabbitmq-server"]
创建镜像
[root@localhost rabbitmq]# docker build -t rabbitmq:3.8 .
[root@localhost rabbitmq]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rabbitmq 3.8 877ce3ac8939 6 hours ago 962MB
daocloud.io/library/centos 7 7e6257c9f8d8 7 months ago 203MB
创建容器
[root@localhost rabbitmq]# docker run -itd --hostname rabbitmq01 --name rabbitmq1 -p 15672:15672 -p 5672:5672 rabbitmq:3.8
[root@localhost rabbitmq]# docker run -itd --hostname rabbitmq02 --name rabbitmq2 -p 15673:15672 -p 5673:5672 --link rabbitmq1:rabbitmq01 rabbitmq:3.8
dca8dad5802340484125ddb58218bf305a8313d790a78be880fb83d925aa0a2c
[root@localhost rabbitmq]# docker run -itd --hostname rabbitmq03 --name rabbitmq3 -p 15674:15672 -p 5674:5672 --link rabbitmq1:rabbitmq01 --link rabbitmq2:rabbitmq02 rabbitmq:3.8
701a1cfd9b25550a8c38e63fd39a117a292d75be32cfa2c8700a31619931c664
[root@localhost rabbitmq]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
701a1cfd9b25 rabbitmq:3.8 "/bin/sh -c 'rabbitm…" 3 seconds ago Up 2 seconds 0.0.0.0:5674->5672/tcp, 0.0.0.0:15674->15672/tcp rabbitmq3
dca8dad58023 rabbitmq:3.8 "/bin/sh -c 'rabbitm…" 37 seconds ago Up 36 seconds 0.0.0.0:5673->5672/tcp, 0.0.0.0:15673->15672/tcp rabbitmq2
de023334b769 rabbitmq:3.8 "/bin/sh -c 'rabbitm…" 2 minutes ago Up 2 minutes 0.0.0.0:5672->5672/tcp, 0.0.0.0:15672->15672/tcp rabbitmq1
erlang.cookie在/root/.erlang.cookie