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 "james@example.com"
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所示:
![在这里插入图片形貌](https://img-blog.csdnimg.cn/20190720081858481.png)
(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所示:
![在这里插入图片形貌](https://img-blog.csdnimg.cn/20190720081927741.png)
(5)在#反面输入 docker inspect -f “{{ range .Mounts }} {{.}} {{end}}” sample下令,查找卷的存储位置。示例代码如下:
[root@xiandian fetcher]# docker inspect -f “{{ range .Mounts }} {{.}} {{end}}” sample
查询效果截图,如图3所示:
![在这里插入图片形貌](https://img-blog.csdnimg.cn/20190720082002267.png)
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 james@example.com
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所示:
![在这里插入图片形貌](https://img-blog.csdnimg.cn/20190720082112434.png)
(5)查询镜像,在#后输入 docker images下令,然后按Enter键,查询镜像,示例代码如下:
[root@xiandian tomcat7]# docker images
查询镜像,如图5所示:
![在这里插入图片形貌](https://img-blog.csdnimg.cn/20190720082232100.png)
(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所示:
![在这里插入图片形貌](https://img-blog.csdnimg.cn/20190720082257808.png)
(7)查找Tomcat应用的端口,在#后输入docker port sample_app 8080下令,然后按Enter键,查询端口,示例代码如下:
[root@xiandian tomcat7]# docker port sample_app 8080
查询应用端口截图,如图7所示:
![在这里插入图片形貌](https://img-blog.csdnimg.cn/20190720082314431.png) ! |