Dockerfile 部署java web的环境详解

时间:2022-06-17 05:39:09

Dockerfile 构建java web 环境

Dockfile 介绍:

Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile。Docker程序将读取Dockerfile,根据指令生成定制的image。相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是怎么产生的。有了Dockerfile,当我们需要定制自己额外的需求时,只需在Dockerfile上添加或者修改指令,重新生成image即可,省去了敲命令的麻烦。

用dockerfile构建一个Java的web环境,主要分为2步,

第一步是在镜像中安装jdk并配置环境变量,

第二步是安装tomcat。

先贴一下完整的dockerfile

?
1
2
3
4
5
6
7
8
9
10
11
12
FROM ubuntu:14.04
MAINTAINER *** "***@******.com"
RUN apt-get update
ADD jdk-8u77-linux-x64.tar.gz /usr/local/java
ENV JAVA_HOME /usr/local/java/jdk1.8.0_77
ENV PATH $JAVA_HOME/bin:$PATH
ENV CLASSPATH .:$JAVA_HOME/lib
COPY apache-tomcat-8.0.33/ /usr/local/tomcat/apache-tomcat-8.0.33/
#RUN unzip /usr/local/tomcat/apache-tomcat-8.0.33.zip
RUN chmod +x /usr/local/tomcat/apache-tomcat-8.0.33/bin/*.sh
EXPOSE 8080
ENTRYPOINT /usr/local/tomcat/apache-tomcat-8.0.33/bin/startup.sh && /bin/bash

原始镜像是ubuntu14.04,然后将jdk的和tomcat的安装包放到和dockerfile相同的目录下。

这个Dockerfile还是比较简单的,jdk和tomcat也都是不需要编译的,都是解压即用,所以没什么特殊的地方。

Dockerfile编辑完了,就在Dockerfile所在的文件夹下构建镜像

?
1
docker build -t="redstarofsleep/javaweb" .

最后运行镜像,运行镜像的时候记得绑定端口

?
1
docker run -d -t -i -p 8081:8080 redstarofsleep/javaweb

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/redstarofsleep/article/details/53669003