美文网首页
Docker实战

Docker实战

作者: phpnet | 来源:发表于2020-01-03 11:42 被阅读0次

    概念

    镜像是容器运行的基石。镜像是一个包含程序运行必要依赖环境和代码的只读文件,它采用分层的文件系统,将每一次改变以读写层的形式增加到原来的只读文件上。

    镜像的本质是磁盘上一系列文件的集合。不难理解,创建新的镜像其实也就是对已有镜像文件进行增、删、改操作。镜像之间并不是孤立的,而是存在单向的文件依赖关系。

    相关命令

    # 查看本机所有镜像
    $ docker images
        - REPOSITORY:仓库名称.
        - TAG:用于区分同一仓库中的不同镜像。如果未指定,默认为latest。
        - IMAGE ID:每个镜像都有一个字符串类型、长为64位的HashID,用来全网标识一个镜像。
        - CREATED:镜像的创建时间。
        - VIRTUAL SIZE:镜像所占用的虚拟大小,该大小包含了所有共享文件的大小。
    
    # 通过通配符找出一系列符合条件的镜像
    $ docker images ub*
    
    # 搜索符合要求的镜像
    $ docker search wordpress
        - NAME:镜像的名称。由命名空间和仓库名构成,如果没有命名空间,说明该镜像属于Docker Hub的官方镜像。
        - DESCRIPTION:镜像的简要描述,创建者可以登录Docker Hub修改该项。
        - STARS:用户对镜像的评分。评分越高,说明质量越高。
        - OFFICIAL:是否为官方镜像。一般情况下,官方镜像更可靠、更稳定。
        - AUTOMATED:是否使用了自动构建,这将在3.4.3节中介绍。
    
    # 预先拉取指定的镜像
    $ docker pull ubuntu
    
    # 删除不再需要的镜像(可以是名称或id,多个用使用空格隔开)
    $ docker rmi c20fd090cbb6
    # 强制删除被依赖的镜像(或者先将依赖它的镜像和容器移除)
    $ docker rmi -f c20fd090cbb6
    # 一次性删除所有容器
    $ docker rm $(docker ps -a -q)
    
    # 创建本地镜像(使用commit命令将容器里的所有修改提交到本地库中,形成一个全新的镜像)
    $ docker commit -m="Message" --author="XIXIHE" 0ddf83b837fe xixihe/sqlite3:v1
    # 使用 Dockerfile 创建镜像
    

    使用docker run命令运行一个镜像时,Docker首先会在本机寻找该镜像,如果本机不存在,会继续去Docker Hub上面搜索符合条件的镜像并将其下载下来运行。为了在运行镜像时不用再费时等待下载镜像,可以通过pull命令预先将镜像拉回到本地。镜像名必须完整地包含命名空间和仓库名。如果一个仓库中存在多个镜像,还必须指定TAG,否则使用默认的TAG——latest。

    我们更推荐使用Dockerfile来构建镜像。将需要对镜像进行的操作全部写到一个文件中,然后使用docker build 命令从这个文件中创建镜像。这种方法可以使镜像的创建变得透明和独立化,并且创建过程可以被重复执行。Dockerfile文件以行为单位,行首为Dockerfile命令,命令都是大写形式,其后紧跟着的是命令的参数。

    相关文章

      网友评论

          本文标题:Docker实战

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