美文网首页
Docker学习笔记(二):镜像

Docker学习笔记(二):镜像

作者: 63e29c663713 | 来源:发表于2016-07-03 21:06 被阅读69次

    1. 简介

    Docker 镜像(Image)就是一个只读的模板。镜像可以用来创建 Docker 容器。

    Docker 公司创建、验证、支持、提供了一些基础镜像,这样的镜像往往使用单个单词作为名字。用户自己创建的一般前面会带 "username/"前缀

    镜像信息:

    • Image ID:唯一标识一个镜像
    • REPOSITORY:来自于哪个仓库
    • TAG:标记来自同一个仓库的不同镜像(如果不指定具体的标记,则默认使用 latest 标记信息)
    • CREATED:创建时间
    • SIZE:大小

    常用命令

    • docker images:列出本地的所有images
    • docker search imageName:查找指定name的image
    • docker pull imageName:下载指定name的image
    • docker push imageName:推送到 Docker Hub
    • docker rmi imageName:移除本地的镜像
    • docker rmi $(docker images -q -f "dangling=true"):清理所有未打过标签的本地镜像

    2. 创建image

    创建镜像有很多方法:

    • 用户可以从 Docker Hub 获取已有镜像,并在修改后commit
    • 可以利用本地文件系统创建一个

    2.1 修改已有image来创建

    启动容器后,可在容器中做一些操作。之后可用 docker commit 提交变更:
    docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2
    其中,-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;-a
    可以指定更新的用户信息;之后是用来创建镜像的容器的 ID;最后指定目标镜像的仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。

    2.2 Dockerfile来创建

    使用 docker build 来创建一个新的镜像。首先需要创建一个 Dockerfile,Dockerfile 中每一条指令都创建镜像的一层。

    Dockerfile 基本的语法是

    • 使用#来注释
    • FROM 指令告诉 Docker 使用哪个镜像作为基础
    • 接着是维护者的信息
    • RUN开头的指令会在创建中运行,比如安装一个软件包,在这里使用 apt-get 来安装了一些软件

    编写完成 Dockerfile 后可以使用 docker build -t="ouruser/sinatra:v2 来生成镜像。其中 -t 标记来添加 tag。

    Dockfile 中的指令被一条一条的执行。每一步都创建了一个新的容器,在容器中执行指令并提交修改(就跟之前介绍过的 docker commit
    一样)。当所有的指令都执行完毕之后,返回了最终的镜像 id。所有的中间步骤所产生的容器都被删除和清理了。

    Automated Builds(自动创建)

    相关文章

      网友评论

          本文标题:Docker学习笔记(二):镜像

          本文链接:https://www.haomeiwen.com/subject/ffdcjttx.html