目录
  1. 1. 环境准备
  2. 2. 解压
  3. 3. 编写Dockerfile
  4. 4. 构建Docker镜像
  5. 5. 查看镜像
  6. 6. 通过镜像启动容器
  7. 7. 浏览器访问
Dockerfile构建JDK+Tomcat环境

环境准备

1
2
3
4
5
[root@iZuf6fpaicz5jt7kep555qZ soft]# ll
total 200452
-rw-r--r-- 1 root root 10267082 Oct 31 18:06 apache-tomcat-8.5.47.tar.gz
-rw-r--r-- 1 root root 194990602 Jul 2 14:10 jdk-8u211-linux-x64.tar.gz
[root@iZuf6fpaicz5jt7kep555qZ soft]#

Tomcat8.5下载

JDK8.0下载

解压

1
2
3
4
5
6
[root@iZuf6fpaicz5jt7kep555qZ docker]# ll
total 12
drwxr-xr-x 9 root root 4096 Oct 31 18:11 apache-tomcat-8.5.47
-rw-r--r-- 1 root root 395 Nov 1 11:25 dockerfile
drwxr-xr-x 7 10 143 4096 Apr 2 2019 jdk1.8.0_211
[root@iZuf6fpaicz5jt7kep555qZ docker]#

编写Dockerfile

1
2
3
4
5
6
7
8
9
10
FROM centos:7.6.1810    	# 指定操作镜像
MAINTAINER MoWenJie # 维护者
RUN mkdir -p /usr/local/soft # 在容器里面创建目录
ADD jdk1.8.0_211 /usr/local/soft/jdk # 将解压出来的目录添加到容器/usr/local/soft/目录并命名为jdk
ADD apache-tomcat-8.5.47 /usr/local/soft/tomcat # 将解压出来的目录添加到容器/usr/local/soft目录并命名为tomcat
ENV JAVA_HOME /usr/local/soft/jdk
ENV CATALINA_HOME /usr/local/soft/tomcat
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
EXPOSE 8080 #暴露端口
CMD ["/usr/local/soft/tomcat/bin/catalina.sh","run"] # 启动容器时,执行Tomcat启动脚本

构建Docker镜像

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
[root@iZuf6fpaicz5jt7kep555qZ docker]# ll
total 12
drwxr-xr-x 9 root root 4096 Oct 31 18:11 apache-tomcat-8.5.47
-rw-r--r-- 1 root root 346 Nov 2 11:12 dockerfile
drwxr-xr-x 7 10 143 4096 Apr 2 2019 jdk1.8.0_211
[root@iZuf6fpaicz5jt7kep555qZ docker]# docker build -t repostory/tomcat_jdk:2.0 . # -t打标签
Sending build context to Docker daemon 422.8 MB
Step 1/10 : FROM centos:7.6.1810
---> f1cb7c7d58b7
Step 2/10 : MAINTAINER MoWenJie
---> Using cache
---> 652a92e8f2fa
Step 3/10 : RUN mkdir -p /usr/local/soft
---> Using cache
---> 42eb52bad072
Step 4/10 : ADD jdk1.8.0_211 /usr/local/soft/jdk
---> Using cache
---> c142d358bf2e
Step 5/10 : ADD apache-tomcat-8.5.47 /usr/local/soft/tomcat
---> Using cache
---> e3f2919dac2b
Step 6/10 : ENV JAVA_HOME /usr/local/soft/jdk
---> Using cache
---> 92b9fac0f51e
Step 7/10 : ENV CATALINA_HOME /usr/local/soft/tomcat
---> Using cache
---> ae6b60353cd5
Step 8/10 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
---> Using cache
---> f516931fe41f
Step 9/10 : EXPOSE 8080
---> Using cache
---> 7ff9a455cc1f
Step 10/10 : CMD /usr/local/soft/tomcat/bin/catalina.sh run
---> Using cache
---> 0e41970d2da1
Successfully built 0e41970d2da1
[root@iZuf6fpaicz5jt7kep555qZ docker]#

查看镜像

1
2
3
4
5
6
[root@iZuf6fpaicz5jt7kep555qZ docker]# docker image ls 
REPOSITORY TAG IMAGE ID CREATED SIZE
repostory/tomcat_jdk 2.0 0e41970d2da1 40 hours ago 623 MB
repostory/tomcat_jdk latest 0e41970d2da1 40 hours ago 623 MB
centos 7.6.1810 f1cb7c7d58b7 7 months ago 202 MB
[root@iZuf6fpaicz5jt7kep555qZ docker]#

通过镜像启动容器

1
2
3
4
5
6
7
8
[root@iZuf6fpaicz5jt7kep555qZ docker]# docker run -d -p 8089:8080 --name tomjdk2.0 repostory/tomcat_jdk:2.0
# -d以守护的方式运行
# -p将宿主机的8089映射到容器的8089端口
[root@iZuf6fpaicz5jt7kep555qZ docker]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dc293559e340 repostory/tomcat_jdk:2.0 "/usr/local/soft/t..." 7 seconds ago Up 6 seconds 0.0.0.0:8089->8080/tcp tomjdk2.0
da8f47634bc8 repostory/tomcat_jdk "/usr/local/soft/t..." 41 hours ago Up 41 hours 0.0.0.0:8080->8080/tcp tomjdk
[root@iZuf6fpaicz5jt7kep555qZ docker]#

浏览器访问

文章作者: GZ
文章链接: https://gz1903.github.io/2019/11/15/Dockerfile构建JDK-Tomcat环境/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 GZ's Blog
打赏
  • 微信
  • 支付宝

评论