zoukankan      html  css  js  c++  java
  • 【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

    2.2 安装tomcat镜像

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

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

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

    三、编写Dockerfile文件

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

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

    MAINTAINER yifanrensheng XXX@126.com : 为自己的一些信息(可以不写);

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

    完整Dockerfile文件如下:

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

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

    四、生成镜像并启动

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

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

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

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

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

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

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

       

    附件一:

    1:背景

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

    2: 操作流程

    启动QuickStart终端,

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

    cd hellodocker :进入testdocker文件夹

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

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

  • 相关阅读:
    第三方支付集成
    文件并发(日志处理)--队列--Redis+Log4Net
    ReportingServies——SQLServer报表开发综合实例
    C#开发可以可视化操作的windows服务
    4、ASP.NET MVC入门到精通——NHibernate构建一个ASP.NET MVC应用程序
    Lucene.net站内搜索—6、站内搜索第二版
    Lucene.net站内搜索—5、搜索引擎第一版实现
    Lucene.net站内搜索—4、搜索引擎第一版技术储备(简单介绍Log4Net、生产者消费者模式)
    谈谈爱情——祭奠那逝去的青春
    Lucene.net站内搜索—3、最简单搜索引擎代码
  • 原文地址:https://www.cnblogs.com/yifanrensheng/p/12734252.html
Copyright © 2011-2022 走看看