DockerFile的简单使用制作tomcat war包镜像

思考:假设我们要部署一套环境,多个机房部署,你会怎么做?一个一个远程安装jdk,mysql,redis等等。。好麻烦是不是?那DockerFile就帮你解决了这个问题。

一、初步了解DockerFile

DockerFile的作用就是将你需要的所有的镜像打包成一个DockerFile制作成一个全新的镜像(就是对镜像的定制),这个镜像里有可能有配置好的redis和mysql的集群,nginx和tomcat等等。多机房部署只需要运行这个镜像就好了。

镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么之前提及的无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。这个脚本就是 Dockerfile。

Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建

二、实践操作

还是用我们上一章的项目查看上一篇文章,我们要把war包和tomcat打包成一个镜像。

①首先我们先创建一个DockerFile

vi Dockerfile

嗯,这样一个DockerFile就创建完了....当然我们要写点东西。

DockerFile的简单使用制作tomcat war包镜像_第1张图片

嗯。。就这两行。因为我们下载好的tomcat里已经有jdk环境变量了,所以不用配置。我们要做的就是把tomcat镜像拉下来,然后复制我们的war包到镜像里的目录中。

②接下来我们构建一下。

docker build -t diy_tomcat .

DockerFile的简单使用制作tomcat war包镜像_第2张图片

docker images 我们的镜像已经在仓库中了。

我们现在进这个diy_tomcat中看看我们的war包是否在里边。

③启动镜像

我们之前启动tomcat还要挂载war包,我们现在把war包和tomcat搞到了一起,制作了一个新的镜像,就不要挂载了 不过--link还是不能少的。

docker run --name docker_diy_tomcat -p 8082:8080 -d  --link docker_redis:docker_redis--link docker_mysql:docker_mysql  c79901aa11f0

 

DockerFile的简单使用制作tomcat war包镜像_第3张图片
 

我们成功起来了,下面我们进入这个容器中看看war包是否真的存在呢?

④进入容器

docker exec -it  docker_diy_tomcat bash

 


看来确实存在的。

那我们测试来看看

DockerFile的简单使用制作tomcat war包镜像_第4张图片

是的我们成功了。

你可能感兴趣的:(docker)