1.先 pull 自己的所需的系统环境 本例 pull 了 ubuntu:latest 和 centos:latest
docker images
ubuntu latest 9873176a8ff5 3 weeks ago 72.7MB
centos latest 300e315adb2f 7 months ago 209MB
2.在主目录下 单独 创建 一个本地文件专用文件夹 (就是tomcat,jre,数据库什么的都扔这下面,千万不要扔/home/下 ,才从坑里面爬出来的那个人告诉你:docker build会将当前文件夹下所有文件给你整到镜像容器里,好几十G的镜像吓人不。。。)
/home/{个人目录} 下创建 image_data 在该目录下准备构建镜像的文件,本例构建一个自定义的tomcat9+java8 镜像。
CentOS 版 DockerFile:
FROM centos
MAINTAINER cg<xxx@126.com>
LABEL name="tomcat9048"\
build-date="20210711"
COPY tomcat /home/
ADD server-jre-8u291-linux-x64.tar.gz /home/
ENV WORKPATH /home/apache-tomcat-9.0.48/
WORKDIR /home/apache-tomcat-9.0.48
ENV JAVA_HOME /home/jdk1.8.0_291
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME $WORKPATH
ENV CATALINA_BASE $WORKPATH
ENV CATALINA_TMPDIR $WORKPATH/temp
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080
EXPOSE 80
CMD catalina.sh run
Ubuntu 版 DockerFile:
FROM ubuntu
MAINTAINER cg<373xxxx@qq.com>
LABEL name="tomcat9048"\
build-date="20210711"
COPY tomcat /home/
ADD server-jre-8u291-linux-x64.tar.gz /home/
ENV WORKPATH /home/apache-tomcat-9.0.48/
WORKDIR /home/apache-tomcat-9.0.48
ENV JAVA_HOME /home/jdk1.8.0_291
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME $WORKPATH
ENV CATALINA_BASE $WORKPATH
ENV CATALINA_TMPDIR $WORKPATH/temp
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080
EXPOSE 80
CMD catalina.sh run
然后在当前目录打开终端 开始构建镜像:
docker build -f dockerfile -t centos_tomcat9_java8:v1 .
选一个跑一下:
docker run -it --name ubuntu_tomcat9 -p 9000:8080 4ab20857feae