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
-a:docker 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镜像的主要内容,如果未能解决你的问题,请参考以下文章