使用dockerfile自定义Tomcat镜像

一:创建目录

mkdir /root/tomcat

chmod 777 /root/

chmod 777 /root/tomcat

或者chmod -R 777 /root

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

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

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

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

 三:修改Dockerfile内容

FROM         centos:7
MAINTAINER    mrzhme<mrzhme@vip.qq.com>
#把宿主机当前上下文的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的标准文件名就是Dockerfile,当当前目录下用于构建镜像的Dockerfile的文件名是标准文件名时,可以省略-f+路径。这时Docker会直接读取当前目录下名为Dockerfile的文件进行镜像的构建。

docker build -t mrlinxitomcat9 .

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

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

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

 

docker images

五:创建容器并启动

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

七: 测试

参考文献:

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程浪漫史

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值