【Docker-5】-Docker运行自己的镜像

目录

  1. 理论知识
  2. 准备工作
  3. 编写Dockerfile文件
  4. 生成镜像并启动

一、理论知识

Dockerfile :告诉docker我需要怎么来制作自己的镜像,我要制作的镜像的操作是什么

Docker build :执行dockfile描述的每一件事,最终会把docker images 制作出来

具体内容可参照: https://docs.docker.com/engine/reference/builder/#buildkit

二、准备工作

2.1 简单编写测试jsp

【Docker-5】-Docker运行自己的镜像

2.2 安装tomcat镜像

docker pull hub.c.163.com/library/tomcat:latest

先去网易云镜像中心找到tomacat镜像,选择带鲸鱼图标的,即下图第一个:

【Docker-5】-Docker运行自己的镜像

复制下载地址,同时在下图界面下拉会找到tomcat的CATALINA_HOME为:/usr/local/tomcat(这在下节会用到)

【Docker-5】-Docker运行自己的镜像

三、编写Dockerfile文件

一般是用虚拟机中的 Vim命令编写Dockerfile文件,但是我亲测以后,发现在Windows下编写非常不方便,所以采用记事本方法编写,具体方式可见附件一。总共以下几句话:

from hub.c.163.com/library/tomcat :这句话表明制作的镜像以tomcat的镜像为起点,在这个基础镜像上进行后续操作,其hub.c.163.com/library/tomcat为步骤3中的镜像名。

MAINTAINER yifanrensheng : 为自己的一些信息(可以不写);

COPY hello.jsp /usr/local/tomcat/webapps/ROOT :将jsp拷贝到tomcat文件下

完整Dockerfile文件如下:

【Docker-5】-Docker运行自己的镜像

另外还有一个命令:CMD 启动该image应该跑的脚本

例如:CMD ["catalina.sh", "run"]

四、生成镜像并启动

QuickStart终端已经cd 到testdoker目录下了(具体见步骤5链接),同时,需要把步骤1中的 war 文件放到hellodocker文件夹下。

【Docker-5】-Docker运行自己的镜像

QuickStart终端执行 docker build -t hellotest:latest .,注意最后面有".",如下图

解释: -t表示为创建镜像的参数 ,hellotest为镜像名称,latest为镜像版本。"."表示Dockerfile在当前目录下,若不是,需要修改成Dockerfile的文件路径。

【Docker-5】-Docker运行自己的镜像

QuickStart终端执行 docker images,会发现镜像已经成功创建:

【Docker-5】-Docker运行自己的镜像

启动镜像:docker run -d -p 8888:8080 hellotest

【Docker-5】-Docker运行自己的镜像

进入网页: http://192.168.99.100:8888/hello.jsp

【Docker-5】-Docker运行自己的镜像

当然,也可以直接命令行测试:

【Docker-5】-Docker运行自己的镜像

附件一:

1:背景

  Window下成功安装Docker,正常启动Quick Start 终端,在制作镜像时,需要用虚拟机中的Vim命令编写Dockerfile文件,也就是vi Dockerfile,但是发现并不方便,于是采用记事本方式。

2: 操作流程

启动QuickStart终端,

mkdir hellodocker,在docker的工作目录 (也就是Docker Toolbox的安装位置)下新建testdocker文件夹,效果如下图:(注意若程序是默认安装的情况下,请先解决C盘中的文件不能修改问题,也即在文件加属性--安全--放开修改权限)

【Docker-5】-Docker运行自己的镜像

cd hellodocker :进入testdocker文件夹

touch Dockerfile :创建一个Docker文件在当前目录,注意这里的Dockerfile的首字母是大写的(因为Linux文件名是大小写敏感的)

notepad Dockerfile& :使用windows的记事本打开Dockerfile文件(注意最后面有一个‘&‘),效果如下图

【Docker-5】-Docker运行自己的镜像

相关推荐