【Docker】镜像

发布于:2025-09-13 ⋅ 阅读:(24) ⋅ 点赞:(0)

一.镜像(image)

1.概念

Docker image 本质上是一个 read-only 只读文件, 这个文件包含了文件系统、源码、库文件、依赖、工具等一些运行 application 所必须的文件。可以把 Docker image 理解成一个类, 可以通过这个类实例化出来很多实例化对象(容器)。

image 里面是一层层文件系统 Union FS。联合文件系统,可以将几层目录挂载到一起,形成一个虚拟文件系统。每一层文件系统我们叫做一层 layer,联合文件系统可以对每一层文件系统设置三种权限,只读(readonly)、读写(readwrite)和写出(whiteout-able),但是 docker 镜像中每一层文件系统都是只读的。

构建镜像的时候,从一个最基本的操作系统开始,每个构建的操作都相当于做一层的修改,增加了一层文件系统。一层层往上叠加,上层的修改会覆盖底层该位置的可见性,这也很容易理解,就像上层把底层遮住了一样。

2.命令

1)docker image

列出本地镜像。

语法:

docker images [OPTIONS] [REPOSITORY[:TAG]]

关键参数:

-a 列出本地所有的镜像
--digests 显示镜像的摘要信息
-f 显示满足条件的镜像
--format 指定返回值的模板文件
--no-trunc 指定返回值的模板文件
-q 只显示镜像ID

2)docker tag

标记本地镜像,将其归入某一仓库。

语法:

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

3)docker rmi

删除镜像。

语法:

docker rmi [OPTIONS] IMAGE [IMAGE...]

关键参数:

-f 强制删除
--no-prune 不移除该镜像的过程镜像,默认移除

4)docker save

将指定镜像保存成tar归档文件(包含文件系统内容的压缩包或tar包)。

语法:

docker save [OPTIONS] IMAGE [IMAGE...]

关键参数:

-o 输出到的文件

5)docker load

导入使用docker save命令导出的镜像。

语法:

docker load [OPTIONS]

关键参数:

--input,-i 指定导入的文件,代替STDIN
--quiet,-q 精简输出信息

6)docker image inspect

查看镜像详细信息。

语法:

docker image inspect [OPTIONS] IMAGE [IMAGE...]

7)docker history

显示镜像历史。

语法:

docker history [OPTIONS] IMAGE

关键参数:

-H,--human 大小和日期采用人容易读的格式展现
--no-trunc 显示全部信息,不要隔断
-q,--quiet 只显示镜像id信息

8)docker import

从归档文件(包含文件系统内容的压缩包或tar包)中创建镜像。

语法:

docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

关键参数:

-c 应用docker指令创建镜像
-m 提交时的说明文字

9)docker image prune

删除不使用的镜像(悬空镜像,没有标签且未被任何容器使用)。

语法:

docker image prune [OPTIONS]

关键参数:

-a,--all 删除全部不使用的镜像(没被任何容器使用)
--filter 指定过滤条件
-f,--force 不提示是否删除

10)docker build

用于使用 Dockerfile 创建镜像。

语法:

docker build [OPTIONS] PATH | URL | -

关键参数:

--build-arg=[] 设置镜像创建时的变量
-f 指定要使用的Dockerfile路径
--label=[] 设置镜像使用的元数据
--no-cache 创建镜像的过程不使用缓存
--pull 尝试去更新镜像的版本
--quiet,-q 安静模式,成功只输出镜像ID
--tag,-t 镜像的名字及标签,通常name:tag或者name格式;可以在一次构建中为一个镜像设置多个标签
--network 默认default,在构建期间设置RUN指令的网络模式

二.镜像仓库命令

1.docker login

登陆到一个 Docker 镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub。

语法:

docker login [OPTIONS] [SERVER]

关键参数:
-u :登陆的用户名
-p :登陆的密码

2.docker pull

从镜像仓库中拉取或者更新指定镜像。

语法:

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

关键参数:
-a :拉取所有 tagged 镜像
--disable-content-trust :忽略镜像的校验,默认开启

3.docker push

将本地的镜像上传到镜像仓库,要先登陆到镜像仓库。

语法:

docker push [OPTIONS] NAME[:TAG]

关键参数:
-a :推送所有 tagged 镜像
--disable-content-trust :忽略镜像的校验,默认开启

4.docker search

从 Docker Hub 查找镜像。

语法:

docker search [OPTIONS] TERM

关键语法:
--no-trunc :显示完整的镜像描述;
-f <过滤条件>:列出收藏数不小于指定值的镜像

5.docker logout

登出一个 Docker 镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub。

语法:

docker logout [SERVER]

网站公告

今日签到

点亮在社区的每一天
去签到