zoukankan      html  css  js  c++  java
  • 制作Docker镜像

    编写DockerFile

    这个DockerFile是一个制作镜像的配方,用于描述这些文件,环境,和命令。在Linux、macOS的窗口终端中,或者windows的命令提示符下,执行下面的步骤,切记如果你使用的是macOS或者windows,你依然创建的是运行在Linux下的映像。

    1. 创建一个目录,在windows下使用md命令:
      $ mkdir mydockerbuild

      PS:构造镜像所需的所有东西都放在这个文件夹中。

    2. 切换到mydockerbulid目录中:
      $ cd mydockerbulid
    3. 在当前目录中,创建编辑Dockerfile文本文件:
      $ nano Dockerfile
    4. 复制下面这行,在文件中添加From 语句:
      From docker/whalesay:lastet

      PS:这个From 关键字告诉Docker你的映像是基于哪个映像。

    5. 添加RUN 语句来在映像中安装fortunes程序:
      RUN apt-get -y update && apt-get install -y fortunes


      这个whalesay映像是基于ubuntu的,使用apt-get进行安装包。这两个命令用来刷新映像可用的包列表并安装fortunes程序,用来输出名言警句。

    6. 添加CMD 命令,这个告诉映像在它的环境被建立后,运行的命令,这个命令运行 fortune -a 且把它的输出传入cowsay程序。
      CMD /usr/games/fortune -a | cowsay
    7. 验证,你的文件应该像这样:
      FROM docker/whalesay:latest
      RUN apt-get -y update && apt-get install -y fortunes
      CMD /usr/games/fortune -a | cowsay

    从Dockerfile中创建Image

    当你mydockerbulid目录,使用docker bulid命令创建image,-t 参数来给你映像一个标签,因此之后你可以更容易地运行它。不要忘记.命令,这表示该命令是在当前命令来查找Dockerfile文件。

    PS:使用docker images 就可以看到我们新创建的映像。

    $ docker build -t docker-whale .
    
    Sending build context to Docker daemon 2.048 kB
    ...snip...
    Removing intermediate container cb53c9d09f3b
    Successfully built c2c3152907b5

    关于bulid构建过程

    1. Docker检查并确保它有它构建所需要的一切,这会生称下面这条信息:
      Sending build context to Docker daemon 2.048 kB
    2. Docker检查whalesay映像是否在本地安装,如果没有从Hub上进行获取。对应Dockerfile的FROM 语句,将会生成这样的消息:
      Step 1 : FROM docker/whalesay:latest
       ---> 6b362a9f73eb

      PS:执行每个步最后,将会打印ID,Dockerfile每一行对应于映像的每一图层,这个ID是每一步骤创建的图层。

    3. Docker启动临时容器来运行whalesay映像。在临时容器中,Docker运行Dockerfile中下一个命令,即RUN命令,用于安装fortune程序,当RUN命令完成时,将创建一个新图层,删除中间容器。
    4. 创建一个新的中间容器,Docker为Dockerfile中CMD行添加一个层,并删除中间容器。

    运行新构建的映像

    docker run docker-whale
  • 相关阅读:
    com,jsj,service,Impl====新闻发布系统(9)
    com.jsj.service=====新闻发布系统(8)
    com.jsj.filter====新闻发布系统(7)
    com.jsj.dao.Impl====新闻发布系统(6)
    com.jsj.utils===新闻发布系统(5)
    最长公共子序列模板(LCS)和LICS模板
    输入输出优化
    zstu-3769 数回文子串
    最长回文子串Manacher算法模板
    HOJ 2678 Stars
  • 原文地址:https://www.cnblogs.com/baishoujing/p/6351859.html
Copyright © 2011-2022 走看看