windows dockerfile制作linux+tomcat环境

1、下载jdk和tomcat压缩包,我下载的是(下载地址不附了,反正是官网)

jdk-18_linux-x64_bin.tar.gz

apache-tomcat-9.0.65.tar.gz

2、编写dockerfile文件

废话不多说先贴dockerfile

FROM centos:7
MAINTAINER  1786690@qq.com

COPY readme.md /usr/local/readme.md

ADD jdk-18_linux-x64_bin.tar.gz /usr/local/
#复制并解压jdk-18_linux-x64_bin.tar.gz包到/usr/local/目录下

ADD apache-tomcat-9.0.65.tar.gz /usr/local/
#复制并解压apache-tomcat-9.0.65.tar.gz包到/usr/local/目录下

RUN yum -y install vim

ENV MYPATH /usr/local
WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk-18.0.2
#添加JAVA环境变量

ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#添加JAVA环境变量

ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.65
#添加TOMCAT环境变量
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.65
#添加TOMCAT环境变量
ENV PATH $PATH:$JAVA_HOME/bin;$CATALINA_HOME/lib;$CATALINA_HOME/bin

EXPOSE 8080
#暴露端口8080

CMD /usr/local/apache-tomcat-9.0.65/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.65/logs/catalina.out

3、构建镜像

docker build -t mytomcat:1.0 .

可以用  docker images 查看镜像是否成功

4、运行镜像

docker run -d -p 8000:8080 --name mytomcat -v D:/docker/test:/usr/local/apache-tomcat-9.0.65/webapps/test -v D:/docker/test/logs/:/usr/local/apache-tomcat-9.0.65/logs mytomcat:1.0

 说明:

8000为宿主机端口 8080为容器端口(dockerfile文件中暴露的端口)

-v 目录1:/目录2(目录1为宿主机目录,目录2为容器运行中镜像目录)

5、访问测试

运行命令docker -ps a 

浏览器打开http://127.0.0.1:8000/ tomcat启动成功

 命令查看:

docker exec -it  a05acc15c14c551bb3059(部分即可)   /bin/bash  

同时我们也可以查看宿主机的logs目录内生成了对应的tomcat运行日志

6、发布项目并测试

停止镜像

docker stop a05acc15c14c551bb3059(貌似命令不生效,直接桌面关闭)

1  在test目录下新建index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>hello</title>
</head>
<body>
Hello World!!!<br/>
</body>
</html>

2  新建WEB-INF目录,并新建web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
</web-app>

3  访问http://127.0.0.1:8000/test/

动态修改jsp页面内容,不用重启镜像。

下面说明整个过程中我遇到的问题.

1、ERROR  COPY 问题: 这里只是目录问题 ,让你的dockerfile文件和tomcat、jdk压缩文件在同一个目录下,且执行build命令的目录也在次目录下.

我当时就没有切换目录直接运行 docker build -f D:\docker\tomcat\Dockerfile -t mytomcat:1.0 . 想着是绝对目录没有问题。最后生成执行过程中就报了 COPY ADD 错误

2、The command ‘/bin/sh -c yum -y install vim 问题:解决方案网上找的,就是centos的版本问题需要加上:7

3、一个弱智问题:windows环境下执行build 命令需要移除dockerfile文件的 .txt后缀名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值