使用Dockerfile构建自己的tomcat镜像

850 次浏览次阅读
没有评论

1. 创建镜像构建目录

➜ cd /Users/cc/mnt
➜ mkdir tomcat
➜ pwd
/Users/cc/mnt/tomcat

2. 进入上述目录,创建 Dockerfile、readme.txt 文件、logs、webapps 文件夹

vim Dockerfile

# vim Dockerfile
FROM centos

MAINTAINER caicai<649620749@qq.com>

# 把宿主机当前上下文的 readme.txt 拷贝到容器 /usr/local/ 路径下
COPY readme.txt /usr/local/cincontainer.txt

# 把 java 和 tomcat 添加到容器中(会自动解压)ADD jdk-8u201-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.24.tar.gz /usr/local/

# 安装 vim 编辑器
RUN yum -y install vim
# 设置启动访问的初始位置,即工作目录,登录落脚点
ENV MYPATH /usr/local
WORKDIR $MYPATH

# 配置 java 和 tomcat 的环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_201
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINE_HOME /usr/local/apache-tomcat-9.0.24
ENV CATALINE_BASE /usr/local/apache-tomcat-9.0.24
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINE_HOME/lib:$CATALINE_HOME/bin

EXPOSE 8080
# 容器启动后要执行的命令
CMD /usr/local/apache-tomcat-9.0.24/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.24/bin/logs/catalina.out

3. 构建 tomcat 景象

➜ docker build -f Dockerfile -t caicai/tomcat .

4. 查看构建后的镜像

➜ docker images
REPOSITORY           TAG       IMAGE ID       CREATED          SIZE
caicai/tomcat        latest    354b6674c69d   19 seconds ago   669MB

5. 启动 tomcat 镜像

➜ docker run -d --privileged=true -p 8080:8080 --name tomcat -v /Users/cc/mnt/tomcat/webapps:/usr/local/apache-tomcat-9.0.24/webapps -v /Users/cc/mnt/tomcat/logs/:/usr/local/apache-tomcat-9.0.24/logs caicai/tomcat

➜ docker ps
CONTAINER ID   IMAGE           COMMAND                  CREATED          STATUS          PORTS                    NAMES
6abf9ff96d61   caicai/tomcat   "/bin/sh -c '/usr/lo…"   54 seconds ago   Up 53 seconds   0.0.0.0:8080->8080/tcp   tomcat

6. 查看 ip,测试访问

ip: 为宿主句 ip

测试访问:
使用 Dockerfile 构建自己的 tomcat 镜像
如果报 404 Not Found 问题, 可通过以下方法解决。
一. webapps.dist 存在的解决办法(大部分为此种情况)

# 进入容器
➜ docker exec -it tomcat /bin/bash
➜ cd apache-tomcat-9.0.24/
➜ rm -rf webapps
➜ mv webapps.dist webapps

二. webapps.dist 不存在的解决办法(极少数此种情况)
如果没有 webapp.dist,可以从网上找一个或者点击小编提供的链接下载
[阿里云盘] 提取码: sg22
下载完最后,将 webapps 目录拷贝到 /Users/cc/mnt/tomcat(根据自己的路径拷贝),然后访问 ip:8080 端口即可出现上图界面,这一步页面出不出现问题都不大,因为自己在空 webapps 目录下,新建项目,也是可以访问的(下步)。此方法,面向强迫症重度患者。

发布测试应用 test

➜ cd /Users/cc/mnt/tomcat/webapps
➜ mkdir test
➜ cd test
➜ mkdir WEB-INF
➜ cd WEB-INF
➜ vim web.xml
➜ cd ..
➜ vim index.jsp

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0"
         metadata-complete="true">
</web-app>

Index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
</head>
<body>
<br>
" welcome to my tocmat -- caixiaoxin "
<br>
</body>
</html>

测试访问:ip:8080/test/index.jsp
使用 Dockerfile 构建自己的 tomcat 镜像

正文完
 0
评论(没有评论)