当前位置:首页 > 系统运维
使用 Dockerfile 构建 Tomcat 镜像
来源:靑龍一笑的博客  作者:靑龍一笑  发布时间:2021-04-14 09:09:20  点击量:568  评论:0

    准备 Tomcat、JDK,以及 Dockerfile,放在同一个目录下:

[root@docker-client tomcat]# ls
apache-tomcat-8.5.63.tar.gz  Dockerfile  jdk-7u80-linux-x64.tar.gz

    其中,Dockerfile 的内容如下:

[root@docker-client tomcat]# cat Dockerfile 
# 基础镜像
FROM docker-registry:5000/centos:7
# 准备 Tomcat 和 JDK
ADD apache-tomcat-8.5.63.tar.gz jdk-7u80-linux-x64.tar.gz /usr/local/
# 暴露 Tomcat 的 8080 端口
EXPOSE 8080
# 设置环境变量
ENV JAVA_HOME /usr/local/jdk1.7.0_80
ENV CLASSPATH $JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.63
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.63
ENV PATH $JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME/lib:$PATH
# 启动容器时,启动 Tomcat
CMD ["catalina.sh", "run"]

    这里用到的基础镜像“docker-registry:5000/centos:7”是我从私有仓库中导出的,有关私有仓库的搭建,详见我的另一篇文章《docker 搭建本地 Registry》。
    使用如下命令构建镜像:

[root@docker-client tomcat]# docker image build -t tomcat:8.5.36 .
Sending build context to Docker daemon    164MB
Step 1/9 : FROM docker-registry:5000/centos:7
 ---> 8652b9f0cb4c
Step 2/9 : ADD apache-tomcat-8.5.63.tar.gz jdk-7u80-linux-x64.tar.gz /usr/local/
 ---> cb6c91bc62e1
Step 3/9 : EXPOSE 8080
 ---> Running in 10eeeaa9ae68
Removing intermediate container 10eeeaa9ae68
 ---> 017f6fe6caec
Step 4/9 : ENV JAVA_HOME /usr/local/jdk1.7.0_80
 ---> Running in 031d6be63d6a
Removing intermediate container 031d6be63d6a
 ---> 631e04424e8d
Step 5/9 : ENV CLASSPATH $JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar
 ---> Running in 45f9cf26557d
Removing intermediate container 45f9cf26557d
 ---> c1ec6b522cde
Step 6/9 : ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.63
 ---> Running in c53af60e5f42
Removing intermediate container c53af60e5f42
 ---> f6591ce0cc11
Step 7/9 : ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.63
 ---> Running in e4148cc5773a
Removing intermediate container e4148cc5773a
 ---> acf7d581a54d
Step 8/9 : ENV PATH $JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME/lib:$PATH
 ---> Running in f9ae5dc7c8d3
Removing intermediate container f9ae5dc7c8d3
 ---> 736ee980591b
Step 9/9 : CMD ["catalina.sh", "run"]
 ---> Running in a16e956702f3
Removing intermediate container a16e956702f3
 ---> 432cd9be7abf
Successfully built 432cd9be7abf
Successfully tagged tomcat:8.5.36

    列出本地主机镜像:

[root@docker-client tomcat]# docker images
REPOSITORY                    TAG       IMAGE ID       CREATED          SIZE
tomcat                        8.5.36    432cd9be7abf   41 seconds ago   525MB
docker-registry:5000/centos   7         8652b9f0cb4c   4 months ago     204MB

    可以看到 tomcat 镜像已经构建完成。
    使用 docker run 命令运行 tomcat 容器:

[root@docker-client tomcat]# docker run -d -p 8080:8080 tomcat:8.5.36

    查看容器:

[root@docker-client tomcat]# docker ps -a
CONTAINER ID   IMAGE           COMMAND             CREATED          STATUS          PORTS                    NAMES
141cd674f129   tomcat:8.5.36  "catalina.sh run"  17 seconds ago   Up 15 seconds   0.0.0.0:8080->8080/tcp   gracious_varahamihira

    由于已经做了端口映射,可以直接在浏览器中访问:

版权所有 © 2005-2023 靑龍一笑的博客  Powered by C.S.Ricen
Copyright © 2005-2023 by www.ricensoftwares.com.cn  All Rights Reserved.

欢迎光临本站,这里是靑龍一笑的博客。

因资金匮乏,本站已迁到国外的免费空间,可能导致本站的访问速度较慢,由此给您带来的不便,敬请谅解。

您可以通过下方的“支持本站建设”链接,给本站提供资金支持。

Free Web Hosting