0%

使用Dockerfile构建Tomcat镜像

前言

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

手工构建镜像

启动容器

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

1
2
service docker start
docker run -i -t -v /download/:/mnt/software/ centos:7 /bin/bash

安装jdk

1、进入容器环境。

2、可选操作,安装vim增强版。

1
yum install vim-enhanced

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

1
2
3
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

然后使配置文件生效

1
source /etc/profile

5、测试jdk是否配置成功

1
2
java
javac

安装tomcat

1、进入容器环境。

2、解压tomcat到/opt目录。

1
2
cd /mnt/software
tar zxvf apache-tomcat-8.0.44.tar.gz -C /opt

3、启动tomcat。

1
2
cd /opt/apache-tomcat-8.0.44/bin/
./startup.sh

4、测试访问。

1
2
yum install curl
curl localhost:8080

编写启动脚本

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

1
2
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权限

1
chmod 777 run.sh

保存容器

保存容器为centos/tomcat镜像

1
2
docker ps -l
docker commit 206f centos/tomcat

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

使用镜像

1、启动镜像

1
docker run -d -p 18080:8080 centos/tomcat /run.sh

2、测试访问

1
curl localhost:18080

使用Dockerfile构建镜像

编写dockerfile

1、准备Dockerfile和run.sh
内容可以参考hexo-storage/dockerfile-tomcat

2、下载 jdk-8u131-linux-x64.tar.gz 和 apache-tomcat-8.0.44.tar.gz 到download目录

3、构建一个名为centos/tomcat8.0:v1.0的镜像

1
docker build -t centos/tomcat8.0:v1.0 .

使用镜像

1、启动镜像

1
docker run -d -p 28080:8080 centos/tomcat8.0:v1.0 /run.sh

2、测试访问

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