docker 制作tomcat镜像
- 首先准备tomcat安装包,jdk安装包。这边版本自己控制,官网上面可以自行下载。
我这里放在了一个随机目录下 //usr/tomcat/,然后新建两个文件,一个Dockerfile文件,一个readme.txt
,
- 开始编写Dockerfile文件
FROM centos
MAINTAINER gaoyuzhuan<18861456629.163.com>
COPY readme.txt /usr/local/readme.txt
ADD jdk-8u341-linux-x64.tar.gz /usr/local
ADD apache-tomcat-8.5.82.tar.gz /usr/local
RUN cd /etc/yum.repos.d/
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
RUN yum -y install wget
RUN wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo \
&& yum clean all \
&& yum makecache
RUN yum -y install vim
RUN yum -y install vim
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.80_341
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.82
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.82
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin/
EXPOSE 8080
CMD /usr/local/apache-tomcat-8.5.82/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.82/bin/logs/catalina.out
- 编译文件,如果文件名称为Dockerfile,编译时不需要指定Dockerfile文件路径。
docker build -t diytomcat:0.1 .
- 编译结果如下:
- 查看镜像
- 启动tomcat容器
docker run -d -p 9696:8080 --name tomcat01 -v /usr/local/app/tomcat/test:/usr/local/apache-tomcat-8.0.23/webapps/test -v /usr/local/app/tomcat/logs:/usr/local/apache-tomcat-8.0.23/logs diytomcat:0.1
启动成功
- 进入容器
docker exec -it 449dc7716730 /bin/bash
- 在宿主机下curl一下这个端口 curl localhost:9696,看到下面这个就代表成功了。