Docker 镜像与制作(四)DockerFile 制作 tomcat 镜像

制作 tomcat 镜像:

基于官方提供的 centos 7.2.1511 基础镜像构建 JDK 和 tomcat 镜像,先构建 JDK 镜像,然后再基于 JDK 镜像构建 tomcat 镜像。

构建 JDK 镜像

  1. 下载基础镜像 Centos:
docker pull centos
  1. 执行构建 JDK 镜像:
mkdir /opt/dockerfile/{web/{nginx,tomcat,jdk,apache},system/{centos,ubuntu,redhat}} -pv
cd /opt/dockerfile/web/jdk/
  1. 编辑Dockerfile
vim Dockerfile
#JDK Base Image
FROM centos-7.5-base:latest

MAINTAINER zhangshijie "zhangshijie@300.cn"

ADD jdk-8u162-linux-x64.tar.gz /usr/local/src/
RUN ln -sv /usr/local/src/jdk1.8.0_162 /usr/local/jdk
ADD profile /etc/profile
ENV JAVA_HOME /usr/local/jdk
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/:$JRE_HOME/lib/
ENV PATH $PATH:$JAVA_HOME/bin

RUN rm -rf /etc/localtime \
      && ln -snf /usr/share/zoneinfo/Asia/Shanghai/etc/localtime \
      && echo "Asia/Shanghai" > /etc/timezone
  1. 上传 JDK 压缩包和 profile 文件:
    将 JDK 压缩包上传到 Dockerfile 当前目录,然后执行构建:
docker build -t centos-7.5-jdk:v1 .
  1. 启动容器
docker run -it centos-jdk:v2 bash
  1. 将镜像上传到 harbor (下面有讲)
docker push 192.168.10.205/centos/centos-7.2.1511-jdk1.7.0.79

从 JDK 镜像构建 tomcat-8 镜像

  1. 进入tomcat目录:
cd /opt/dockerfile/web/tomcat
  1. 编辑Dockerfile文件
vim Dockerfile
FROM centos-jdk:v2
RUN useradd www -u 2019

ENV TZ "Asia/Shanghai"
ENV LANG en_US.UTF-8
ENV TERM xterm
ENV TOMCAT_MAJOR_VERSION 8
ENV TOMCAT_MINOR_VERSION 8.0.49
ENV CATALINA_HOME /apps/tomcat
ENV APP_DIR ${CATALINA_HOME}/webapps

RUN mkdir /apps
ADD apache-tomcat-8.5.42.tar.gz /apps
RUN ln -sv /apps/apache-tomcat-8.5.42 /apps/tomcat
  1. 上传 tomcat 压缩包:apache-tomcat-8.5.42.tar.gz

  2. 通过脚本构建 tomcat 基础镜像

docker build -t tomcat:v1 .
  1. 验证镜像构建完成
docker images
  1. 构建业务镜像 1:
mkdir -pv /opt/dockerfile/app/tomcat-app1
cd /opt/dockerfile/app/tomcat-app1
  1. 准备 Dockerfile:
vim Dockerfile
FROM tomcat:v1
ADD run_tomcat.sh /apps/tomcat/bin/run_tomcat.sh
ADD myapp/* /apps/tomcat/webapps/myapp/
RUN chown www.www /apps/ -R
RUN chmod +x /apps/tomcat/bin/run_tomcat.sh
EXPOSE 8080 8009
CMD ["/apps/tomcat/bin/run_tomcat.sh"]
  1. 准备自定义 myapp 页面:
mkdir myapp
echo "Tomcat Web Page1" > myapp/index.html
  1. 准备容器启动执行脚本:
vim run_tomcat.sh
#!/bin/bash
echo "1.1.1.1 abc.test.com" >> /etc/hosts
echo "nameserver 223.5.5.5" > /etc/resolv.conf
su - www -c "/apps/tomcat/bin/catalina.sh start"
su - www -c "tail -f /etc/hosts"
  1. 构建
docker build -t tomcat-app1:v1 .
  1. 查看镜像
docker images
  1. 从镜像启动容器测试:
docker run -it -d -p 8888:8080 tomcat-app1:v1
  1. 访问测试
    Docker 镜像与制作(四)DockerFile 制作 tomcat 镜像
上一篇:odoo开发学习-debug&开发者模式 取消


下一篇:【Django REST framework】DRF快速编写接口(查询所有数据、分页、搜索、过滤、排序、新增单条数据)