前言
如果只是想要一个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 | export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131 |
然后使配置文件生效,source /etc/profile
。
5、测试jdk是否配置成功。java
,javac
安装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 |
|
3、更改run.sh权限chmod 777 run.sh
保存容器
1、退出容器exit
2、查看dockeriddocker 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 | # |
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