使用dockerfile自定义Tomcat镜像

一:创建目录

mkdir /root/tomcat

chmod 777 /root/

chmod 777 /root/tomcat

或者chmod -R 777 /root

使用dockerfile自定义Tomcat镜像_第1张图片

 这里的无效选项是因为我想递归修改root目录及root目录文件以下的权限

chmod :-R  递归修改指定目录下所有子目录和文件的权限

使用dockerfile自定义Tomcat镜像_第2张图片 

 二:将jdk和apache压缩包拷进/root/tomcat

使用dockerfile自定义Tomcat镜像_第3张图片

使用dockerfile自定义Tomcat镜像_第4张图片 

使用dockerfile自定义Tomcat镜像_第5张图片 

使用dockerfile自定义Tomcat镜像_第6张图片 

在/root/tomcat目录下创建文件c.txt和Dockerfile

使用dockerfile自定义Tomcat镜像_第7张图片

 三:修改Dockerfile内容

FROM         centos:7
MAINTAINER    mrzhme
#把宿主机当前上下文的c.txt拷贝到容器/usr/local/路径下
COPY c.txt /usr/local/cincontainer.txt
#把java与tomcat添加到容器中
ADD jdk-8-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.40.tar.gz /usr/local/
#安装vim编辑器
RUN yum -y install vim
#设置工作访问时候的WORKDIR路径,登录落脚点
ENV MYPATH /usr/local
WORKDIR $MYPATH
#配置java与tomcat环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_301
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.40
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.40
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#容器运行时监听的端口
EXPOSE  8080
#启动时运行tomcat
# ENTRYPOINT ["/usr/local/apache-tomcat-8.5.40/bin/startup.sh" ]
# CMD ["/usr/local/apache-tomcat-8.5.40/bin/catalina.sh","run"]
CMD /usr/local/apache-tomcat-8.5.40/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.40/bin/logs/catalina.ou

 使用dockerfile自定义Tomcat镜像_第8张图片

 四:构建镜像

Dockerfile的标准文件名就是Dockerfile,当当前目录下用于构建镜像的Dockerfile的文件名是标准文件名时,可以省略-f+路径。这时Docker会直接读取当前目录下名为Dockerfile的文件进行镜像的构建。

docker build -t mrlinxitomcat9 .

使用dockerfile自定义Tomcat镜像_第9张图片

 解决BUG——docker构建镜像时,yum安装卡住

 原因:告警:ip转发功能未打开,网络将无法生效

 

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p

 使用dockerfile自定义Tomcat镜像_第10张图片

docker images

 

使用dockerfile自定义Tomcat镜像_第11张图片

 

五:创建容器并启动

docker run -d -p 8888:8080 --name myt9 -v /root/tomcat/test:/usr/local/apache-tomcat-8.5.40/webapps/test -v /root/tomcat/tomcat9logs/:/usr/local/apache-tomcat-8.5.40/logs --privileged=true mrlinxitomcat9

docker ps

 

 

 六:开启防火墙对应端口

firewall-cmd --permanent --zone=public --add-port=8888/tcp

七: 测试

使用dockerfile自定义Tomcat镜像_第12张图片

 

参考文献:

https://www.cnblogs.com/xiangningdeguang/p/16962137.html

 

你可能感兴趣的:(tomcat,java,服务器)