使用Dockerfile配置javaweb镜像

729 阅读1分钟

基础环境

安装了docker的ubuntu 16.04

step1使用wget下载tomcat和jdk8

wget是一个下载文件的工具,它用在命令行下载。从网络下载一个文件并保存在当前目录

wget https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.49/bin/apache-tomcat-8.5.49-fulldocs.tar.gz

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz" 

step2 生存Dockerfile文件

dockfile  和下载的tomcat包和jdk在同一目录下

# 说明该镜像以哪个镜像为基础,如果本机没有,会去镜像源拉取
FROM ubuntu:16.04
# 构建者的基本信息
MAINTAINER CHL
#刷新包缓存,
RUN apt-get update
#讲宿主机jdk目录下的文件拷至镜像/usr/jdk目录下
ADD jdk-8u141-linux-x64.tar.gz /usr/local/jdk
ADD apache-tomcat-8.5.49.tar.gz /usr/local/tomcat
#设置环境变量
ENV JAVA_HOME /usr/local/jdk/jdk1.8.0_141
ENV PATH $JAVA_HOME/bin;$PATH
ENV CLASSPATH .:$JAVA_HOME/lib


#配置运行环境
ENV LANG C.UTF-8

#配置Tomcat
ADD apache-tomcat-8.5.49.tar.gz /usr/local/tomcat/
RUN chmod +x /usr/local/tomcat/apache-tomcat-8.5.49/bin/*.sh
EXPOSE 8080
ENTRYPOINT /usr/local/tomcat/apache-tomcat-8.5.49/bin/startup.sh && /bin/bash


ADD 一个复制命令,把当前目录文件复制到镜像的指定目录中。如果源文件是个归档文件(压缩文件),则docker会自动帮解压。如果把源文件为一个url,那么ADD就类似于wget命令

ENV < key> < value> 设置环境变量、

ENTRYPOINT :设置启动时的入口程序 


step2 buildDockerfile文件生成镜像

 docker build -t chl/javaweb .

docker build 命令用于使用 Dockerfile 创建镜像。 -t 镜像的tag 

.代表在当前目录下找对应的Dockerfile


查看是否构建成功


运行该镜像

docker run -i -t -d -p 8088:8080 --name="javaweb" chl/javaweb 

查看运行的镜像


测试

访问tomcat

curl 127.0.0.1:8088

如果没有报错,返回了页面文档测成功