dockerfile如何自己建一个tomcat(自己制作一个tomcat,访问8080的时候是显示我们的页面而不是它的那个猫)

dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本

家想想,Nginx,tomcat,mysql 这些镜像都是哪里来的?官方能写,我们不能写吗?

我们要研究自己如何做一个镜像,而且我们写的微服务项目以及 springboot 打包上云部署,Docker就是最方便的。

微服务打包成镜像,任何装了Docker的地方,都可以下载使用,极其的方便。

流程:开发应用=>DockerFile=>打包为镜像=>上传到仓库(私有仓库,公有仓库)=> 下载镜像 => 启动 运行。

还可以方便移植!

构建步骤:

1、编写DockerFile文件

2、docker build 构建镜像

3、docker run

实战测试

CentOS

官方默认的 CentOS 的情况不支持 vim 和 ifconfig 指令

我们自己构建一个支持这些指令的镜像

步骤:

  • 将 JDK 和 tomcat 安装的压缩包拷贝到自己放的地方(我个人放的位置不当就放在了src里面)
  • 用的是(jkd1.8与tomcat7.047)

2.新建一个 Dockerfile 文件

FROM centos

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

构建镜像:

docker build -t diytomcat .

在此目录下默认构建 Dockerfile 文件,所以不需要带上文件名

启动:

docker run -d  -p 9090:8080 --name diytomcat -v /home/build/tomcat/test:/usr/local/apache-tomcat-7.0.47/webapps/test -v /home/build/tomcat/logs/:/usr/local/apache-tomcat-7.0.47/logs --privileged=true diytomcat

备注:Docker挂载主机目录Docker访问出现cannot open directory Permission denied

解决办法:在挂载目录后多加一个--privileged=true参数即可

 看到这句就已经在里面运行了

访问localhost:9090就可以看到tomcat的原界面

那怎么样可以创建自己属于的tomcat呢?

1.docker exec -it  CONTAINER ID /bin/bash

2.ls 找到 apache-tomcat-7.0.47

cd apache-tomcat-7.0.47/

3.再次寻找conf  cd到 conf/

4.vi web.xml 就会看到原界面的源码

翻到最下面

 5.然后再次回到cd apache-tomcat-7.0.47/

6.ls 寻找到webapps

7.找到ROOT 进入

8.创建一个a.jsp

9.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试</title>
</head>
<body>
Hello World!<br/>
<% System.out.println("-------my docker tomcat-------");%>
</body>
</html>

10.exit; 退出

11.重新运行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值