Docker镜像

Posted tractors

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker镜像相关的知识,希望对你有一定的参考价值。

一、镜像Image:

  1.概述:

    Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

  2.分层存储:

    镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成;

    镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。

二、镜像操作:

Docker Hub Docker 镜像仓库;

  1)获取:

    docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

    //:冒号后面不写,拉取的为latest版本;

    //Docker 镜像仓库地址:地址的格式一般是 `<域名/IP>[:端口号]`。默认地址是 Docker Hub。

    //仓库名:仓库名是两段式名称,即 <用户名>/<软件名>。对于Docker Hub,默认为 `library`,也就是官方镜像。

    //示例:docker pull tomcat:8.5

  2)运行:

    1)直接运行:

      docker run -p 8080:8080 镜像名

    2)以交互的方式运行容器并进入容器:

      docker run -it --rm -p 8080:8080 镜像名 bash

    3)以交互的方式进入到正在运行的某一个容器:

      docker exec -it --rm -p 8080:8080 容器名/容器id bash

      // it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。

      // rm:容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 `docker rm`。

      // bash:放在镜像名后的是**命令**,这里我们希望有个交互式 Shell,因此用的是 `bash`。

  3)查看:

    docker image ls:显示顶级镜像;

    简写,docker images

      -adocker image ls -a:显示中间层镜像;

      -f:过滤器;h ed

REPOSITORY

TAG

IMAGE ID

CREATED

SIZE

仓库名

标签

镜像 ID

创建时间

所占用的空间

  4)删除:

    docker image rm [选项] <镜像1> [<镜像2> ...]:简写,docker rmi

三、其它镜像:

  1)虚悬镜像:旧的同名/同标签镜像;

    查看虚悬镜像:docker images -f dangling=true

    删除虚悬镜像:docker image prune

    docker rmi $(docker images -q -f dangling=true)

  2)中间层镜像:为了加速镜像构建、重复利用资源的镜像;

    显示中间层镜像:docker image ls -a

 

 

 

以上是关于Docker镜像的主要内容,如果未能解决你的问题,请参考以下文章

docker定制镜像

docker 镜像 overview

如何给Docker配置官方国内加速镜像

docker拉取镜像失败,提示端口错误

docker笔记 配置镜像

docker 镜像分层原理