Docker 使用 Dockerfile 制作 Tomcat 镜像

Posted 小伍

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 使用 Dockerfile 制作 Tomcat 镜像相关的知识,希望对你有一定的参考价值。

编写 Dockerfile 文件

vim Dockerfile
# 镜像使用的基础镜像
FROM centos

# 指明镜像的作者
MAINTAINER wu<wuyuanhui@qq.com>

# 添加压缩包,会自动解压,需提前下载放到 Dockerfile 文件所在目录
ADD jdk-8u11-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.22.tar.gz /usr/local/

# 类似ADD指令,将文件拷贝到镜像中,需提前编写放到 Dockerfile 文件所在目录
COPY readme.txt /usr/local/readme.txt

# 镜像构建时需要运行的命令
RUN yum -y install vim
RUN yum -y install net-tools

# 构建时设置环境变量
ENV MYPATH /usr/local

# 镜像的工作目录,启动容器后进入的目录
WORKDIR $MYPATH

# 设置 JAVA 环境变量
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-9.0.22
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.22
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

# 指定对外的暴露端口
EXPOSE 8080

# 匿名挂载数据卷
VOLUME ["volume01","volume02"]

# 容器启动时需要运行的命令,多个CMD命令只有最后一个会生效
# CMD中的命令会被docker run的命令完全替代
CMD echo $MYPATH

CMD /usr/local/apache-tomcat-9.0.22/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.22/bin/logs/catalina.out
# 构建镜像
# -f 指定使用的Dockerfile文件,-t 指定生成镜像的版本,. 镜像放在当前目录
docker build -t my_tomcat .

# 查看所有镜像
docker images

# 运行容器,默认会去找最新版,所以需要指定版本
docker run -d -p 8080:8080 --name my_tomcat01 \\
-v /home/tomcat/test:/usr/local/apache-tomcat-9.0.22/webapps/test \\
-v /home/tomcat/logs:/usr/local/apache-tomcat-9.0.22/logs \\
my_tomcat

# 进入容器
docker exec -it my_tomcat01 /bin/bash
# 查看镜像构建历史
docker history image_id

# 查看容器详情和数据卷挂载信息
docker inspect my_centos01

以上是关于Docker 使用 Dockerfile 制作 Tomcat 镜像的主要内容,如果未能解决你的问题,请参考以下文章

Docker学习笔记 —— 镜像制作(Dockerfile)

Docker学习笔记 —— 镜像制作(Dockerfile)

DOCKER学习_011:使用Dockerfile制作docker镜像

docker镜像构建

Docker 使用 Dockerfile 制作 Tomcat 镜像

关于制作Docker镜像?| Dockerfile快速开始