dockerfile搭建activemq5.16.5

发布时间 2023-08-21 16:26:47作者: 风语者的祝福

dockerfile搭建activemq5.16.5

搭建环境

最小化的centos 7.5

家目录下完成如下操作

环境构建脚本

#!/bin/bash
#author by gwl
###2023-02-10  docker安装配置
 
yum install wget ntpdate telnet vim net-tools bash-completion gcc gcc-c++ make -y
sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
systemctl disable firewalld
systemctl stop firewalld

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
 
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum clean all
yum makecache fast
#默认是关闭docker服务的,需要开启
yum install -y docker-ce
systemctl stop docker
systemctl disable docker

/usr/sbin/ntpdate pool.ntp.org
cat >>  /var/spool/cron/root  << EOF
#time sync by gwl
*/10 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1
EOF
crontab -l

apache-activemq-5.16.5-bin.tar.gz

https://archive.apache.org/dist/activemq/5.16.5/apache-activemq-5.16.5-bin.tar.gz

jdk-8u131-linux-x64.tar.gz

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

解压文件

tar -xf apache-activemq-5.16.5-bin.tar.gz

tar -xf jdk-8u131-linux-x64.tar.gz

编写Dockerfile

FROM centos

COPY jdk1.8.0_131 /usr/local/jdk1.8.0_131
COPY apache-activemq-5.16.5 /usr/local/apache-activemq-5.16.5
WORKDIR /usr/local
ENV JAVA_HOME /usr/local/jdk1.8.0_131
ENV ACTIVEMQ_HOME /usr/local/apache-activemq-5.16.5
ENV PATH $JAVA_HOME/bin:$PATH:$ACTIVEMQ_HOME/bin
ENV CLASSPATH .:$JAVA_HOME/lib
EXPOSE 8161/tcp
EXPOSE 61616/tcp
EXPOSE 5672/tcp
EXPOSE 61613/tcp
EXPOSE 1883/tcp
EXPOSE 61614/tcp
CMD [ "apache-activemq-5.16.5/bin/activemq", "console" ]

当前项目文件夹内容如下

构建镜像

容器内文件路径在/usr/local

[root@docker ~]# docker build -t activemq:5.16.5 .
[+] Building 46.6s (9/9) FINISHED                                                                                          docker:default
 => [internal] load build definition from Dockerfile                                                                                 0.1s
 => => transferring dockerfile: 512B                                                                                                 0.0s
 => [internal] load .dockerignore                                                                                                    0.1s
 => => transferring context: 2B                                                                                                      0.0s
 => [internal] load metadata for docker.io/library/centos:latest                                                                     0.0s
 => [1/4] FROM docker.io/library/centos                                                                                              0.0s
 => [internal] load build context                                                                                                   29.4s
 => => transferring context: 450.24MB                                                                                               29.3s
 => [2/4] COPY jdk1.8.0_131 /usr/local/jdk1.8.0_131                                                                                  7.2s
 => [3/4] COPY apache-activemq-5.16.5 /usr/local/apache-activemq-5.16.5                                                              1.8s
 => [4/4] WORKDIR /usr/local                                                                                                         0.1s
 => exporting to image                                                                                                               7.4s
 => => exporting layers                                                                                                              7.2s
 => => writing image sha256:4c4f8f1cf18eda277e5b571e74e40001aa3098d77794c5c5a7d9750b2eab622f                                         0.0s
 => => naming to docker.io/library/activemq:5.16.5   

启动镜像

后台启动

[root@docker ~]# docker run --name='activemq' -it -p 8161:8161 --rm activemq:5.16.5 &
[1] 5081

访问页面http://IP:8161/,显示如下