0%

使用Dockerfile构建Tomcat镜像

前言

如果只是想要一个tomcat环境,很简单,直接拉取一个tomcat镜像就可以了。
本文中,我们在centos7镜像的基础上,学习使用Dockerfile构建Tomcat镜像。更多的是为了对比,对比了手工构建镜像和使用Dockerfile构建镜像的不同,以便我们更好地理解构建过程。

手工构建镜像

启动容器

假设我们的所有安装程序都放在了宿主机的/download目录下,现在需要将其挂载到容器的/mnt/software目录下。
service docker start

docker run -i -t -v /download/:/mnt/software/ centos:7 /bin/bash

安装jdk

1、进入容器环境。

2、可选操作,安装vim增强版。
yum install vim-enhanced

3、解压jdk到/usr/lib/jvm目录。
cd /mnt/software

mkdir -p /usr/lib/jvm

tar zxvf jdk-8u131-linux-x64.tar.gz -C /usr/lib/jvm/

4、配置JAVA_HOME和JRE_HOME,vi /etc/profile,在最后添加:

1
2
3
4
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

然后使配置文件生效,source /etc/profile

5、测试jdk是否配置成功。
javajavac

安装tomcat

1、进入容器环境。

2、解压tomcat到/opt目录。
cd /mnt/software

tar zxvf apache-tomcat-8.0.44.tar.gz -C /opt

3、启动tomcat。
cd /opt/apache-tomcat-8.0.44/bin/

./startup.sh

4、测试访问。
yum install curl

curl localhost:8080

编写启动脚本

1、进入根目录,新建run.sh文件。
cd /

vi run.sh

2、编辑run.sh内容为:

1
2
3
4
5
6
#!/bin/sh
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
sh /opt/apache-tomcat-8.0.44/bin/catalina.sh run

3、更改run.sh权限
chmod 777 run.sh

保存容器

1、退出容器
exit

2、查看dockerid
docker ps -l

3、保存容器为centos/tomcat。
docker commit 206f centos/tomcat

使用镜像

1、启动镜像
docker run -d -p 18080:8080 centos/tomcat /run.sh

2、测试访问
curl localhost:18080

使用Dockerfile构建镜像

编写dockerfile

1、下载dockerfile项目
在宿主机中,git clone https://github.com/voidking/dockerfile.git

2、进入tomcat文件夹
cd dockerfile/tomcat

3、拷贝/download目录到tomcat目录
cp -r /download download

4、查看Dockerfile,内容为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#
# MAINTAINER VoidKing <voidking@qq.com>
# DOCKER-VERSION 17.03.1-ce
#
# Dockerizing Tomcat: Dockerfile for building Tomcat images
#
FROM centos:7
MAINTAINER VoidKing <voidking@qq.com>

ENV TZ "Asia/Shanghai"

ADD download/jdk-8u131-linux-x64.tar.gz /usr/lib/jvm/
ADD download/apache-tomcat-8.0.44.tar.gz /opt

ADD run.sh /run.sh

RUN chmod 777 /run.sh

EXPOSE 8080

ENTRYPOINT ["/run.sh"]

5、使用当前目录下的Dockerfile,构建一个名为centos/tomcat8.0的镜像
docker build -t centos/tomcat8.0 .

docker镜像的命名规则 registry_url/namespace/image_name:tag 默认tag是latest。

使用镜像

1、启动镜像
docker run -d -p 28080:8080 centos/tomcat8.0 /run.sh

2、测试访问
curl localhost:28080

  • 本文作者: 好好学习的郝
  • 本文链接: https://www.voidking.com/dev-dockerfile-build-tomcat/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!源站会及时更新知识点及修正错误,阅读体验也更好。欢迎分享,欢迎收藏~