完整课程请点击: Docker入门课程
上一节: Docker学习(6)-docker网络以及访问已运行的Nginx
在上一节中,已经了解了基本的docker网络和浏览器访问在官方仓库的容器,本节开始制作自己的镜像。
本节设计到的知识
- Dockerfile(文本文件)
- docker build( docker 命令)
- Jpress:http://jpress.io/ (开源 Java Web项目,也可以使用自己的)
创建流程
1 下载Jpress的war包+拉取tomcat镜像
-
下载Jpress开源项目,https://gitee.com/fuhai/jpress/repository/archive/alpha.zip,找到里面的 war 文件,放到DookerToolbox的工作目录下,如下图
-
因为是java Web应用,肯定需要用到tomcat,先去网易云镜像中心找到tomacat镜像,并复制下载地址,同时在下图界面下拉会找到tomcat的CATALINA_HOME为:
/usr/local/tomcat
(这在下节会用到)
-
QuickStart执行
docker pull hub.c.163.com/library/tomcat:latest
拉取tomcat镜像(tomcat镜像会包括jdk镜像),然后docker images
查看本机镜像,tomcat镜像名为hub.c.163.com/library/tomcat
。 -
QuickStart终端执行
ls
,检查工作目录下是否有war包,如下图
2 编写Dockerfile文件
-
一般是用虚拟机中的 Vim命令编写Dockerfile文件,但是我亲测以后,发现在Windows下编写非常不方便,所以采用记事本方法编写,编写方法链接:
Windows中用记事本编写Dockerfile文件 -
输入
from hub.c.163.com/library/tomcat
,这句话表明我要制作的镜像以tomcat的镜像为起点,其中hub.c.163.com/library/tomcat
为步骤3中的镜像名。MAINTAINER
为自己的一些信息(可以不写)。 -
输入
COPY jpress-web-newest.war /usr/local/tomcat/webapps
,将web应用拷贝到tomcat的webapps下,其中/usr/local/tomcat
来自步骤2,jpress-web-newest.war
来自步骤1。
完整Dockerfile文件如下:
3 执行Docker Build命令
- QuickStart终端已经cd 到
testdoker
目录下了(具体见步骤5链接),同时,需要把步骤1中的 war 文件放到testdoker
文件夹下。
- QuickStart终端执行
docker build -t jpress:latest .
,注意最后面有“.”,如下图
解释:-t
表示为创建镜像的参数 ,jpress
为镜像名称,latest
为镜像版本。
- QuickStart终端执行
docker images
,会发现镜像已经成功创建
至此,镜像创建已经完成,接下来开始讲解如何运行自己的容器
下一节: