dockerfile搭建activemq5.16.5
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/,显示如下