构建Java Web应用实验

1. 创建负责下载WAR文件的镜像

(1)创建一个目录fetcher,保存相关的配置信息和内容,在#后输入mkdir fetcher&&cd fetcher命令,然后按Enter键,创建fetcher目录并进入该目录。示例代码如下:

[root@xiandian ~]# mkdir fetcher&&cd fetcher

[root@xiandian fetcher]#

(2)创建Dockerfile文件,在#后输入vi Dockerfile命令,然后按Enter键,创建Dockerfile文件。示例代码如下:

[root@xiandian fetcher]# vi Dockerfile

Dockerfile文件的内容,如下所示:

FROM ubuntu:14.04.3

MAINTAINER James Turnbull "[email protected]"

ENV REFRESHED_AT 2016-12-25

RUN apt-get -y update

RUN apt-get -y install wget

VOLUME [ "/var/lib/tomcat7/webapps/" ]

WORKDIR /var/lib/tomcat7/webapps/

ENTRYPOINT [ "wget" ]

CMD [ "-?" ]

说明:当执行容器时,指定URL下载WAR包,下载保存在/var/lib/tomcat7/webapps/ 目录下。此目录也是一个卷和所有容器的工作目录。然后把这个卷共享给运行tomcat服务的容器。

(3)构建镜像,在#后面输入docker build -t jamtur01/fetcher .命令,然后按Enter键,构建镜像。示例代码如下所示:

[root@xiandian fetcher]# docker build -t jamtur01/fetcher .

构建镜像成功,如图1所示:
在这里插入图片描述

(4) 运行容器,并指定URL下载WAR包,在#后输入docker run -t -i --name sample jamtur01/fetcher https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/sample.war命令,然后按Enter键,运行容器并下载war包。示例代码如下:

[root@xiandian fetcher]# docker run -t -i --name sample jamtur01/fetcher https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/sample.war

下载war包成功,如图2所示:
在这里插入图片描述
(5)在#后面输入 docker inspect -f “{{ range .Mounts }} {{.}} {{end}}” sample命令,查找卷的存储位置。示例代码如下:

[root@xiandian fetcher]# docker inspect -f “{{ range .Mounts }} {{.}} {{end}}” sample

查询效果截图,如图3所示:
在这里插入图片描述

2. 创建负责运行Tomat和Web应用的镜像

(1)在#后输入cd命令,然后按Enter键,返回到根目录,示例代码如下:

[root@xiandian ~]# cd

[root@xiandian ~]#

(2)在#后输入mkdir tomcat7&&cd tomcat7命令,然后按Enter键,创建tomcat7并进入到该目录,示例代码如下:

[root@xiandian ~]# mkdir tomcat7&&cd tomcat7

[root@xiandian tomcat7]#

(3)编写Dockerfile,在#后输入vi Dockerfile命令,然后按Enter键,创建Dockerfile文件,示例代码如下:

[root@xiandian tomcat7]# vi Dockerfile

Dockerfile文件的内容,如下所示:

FROM ubuntu:14.04.3

MAINTAINER James Turnbull [email protected]

ENV REFRESHED_AT 2016-12-25

RUN apt-get -y update

RUN apt-get -y install tomcat7 default-jdk

ENV CATALINA_HOME /usr/share/tomcat7

ENV CATALINA_BASE /var/lib/tomcat7

ENV CATALINA_PID /var/run/tomcat7.pid

ENV CATALINA_SH /usr/share/tomcat7/bin/catalina.sh

ENV CATALINA_TMPDIR /tmp/tomcat7-tomcat7-tmp

RUN mkdir -p $CATALINA_TMPDIR

VOLUME [ "/var/lib/tomcat7/webapps/" ]

EXPOSE 8080

ENTRYPOINT [ "/usr/share/tomcat7/bin/catalina.sh","run" ]

这个镜像很简单,首先安装Java Jdk和Tomcat服务器,接着设置环境变量,然后创建了/var/lib/tomcat7/webapps/卷,公开Tomcat默认的8080端口,最后ENTRYPOINT指定来启动tomcat的命令。

(4)构建镜像,在#后输入 docker build -t jamtur01/tomcat7 .命令,然后按Enter键,进行构建镜像操作,示例代码如下:

[root@xiandian tomcat7]# docker build -t jamtur01/tomcat7 .

构建镜像成功,如图4所示:
构建Java Web应用实验_第1张图片

(5)查询镜像,在#后输入 docker images命令,然后按Enter键,查询镜像,示例代码如下:

[root@xiandian tomcat7]# docker images

查询镜像,如图5所示:

在这里插入图片描述

(6)创建tomcat实例,在#后输入docker run --name sample_app --volumes-from sample -d -P jamtur01/tomcat7命令,然后按Enter键,启动容器,示例代码如下:

[root@xiandian tomcat7]# docker run --name sample_app --volumes-from sample -d -P jamtur01/tomcat7

启动容器截图,如图6所示:

在这里插入图片描述

(7)查找Tomcat应用的端口,在#后输入docker port sample_app 8080命令,然后按Enter键,查询端口,示例代码如下:

[root@xiandian tomcat7]# docker port sample_app 8080

查询应用端口截图,如图7所示:
在这里插入图片描述

你可能感兴趣的:(Docker容器技术与应用)