docker镜像管理命令

文章目录

  • [docker images](#docker images)
  • [docker build](#docker build)
  • [docker rmi](#docker rmi)
  • [docker tag](#docker tag)
  • [docker save](#docker save)
  • [docker load](#docker load)
  • [docker import](#docker import)
  • [docker commit](#docker commit)
  • [docker login/logout](#docker login/logout)
  • [docker pull](#docker pull)
  • [docker push](#docker push)
  • [docker search](#docker search)
  • 总结

docker images

列出本地镜像。

bash 复制代码
docker images [OPTIONS] [REPOSITORY[:TAG]]

OPTIONS说明:

-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);

--digests :显示镜像的摘要信息;

-f :显示满足条件的镜像;

--format :指定返回值的模板文件;

--no-trunc :显示完整的镜像信息;

-q :只显示镜像ID

bash 复制代码
# 查看所有悬空镜像
docker images --filter dangling=true
# 清除所有悬空镜像
docker image prune

docker build

docker build 命令用于使用 Dockerfile 创建镜像。

bash 复制代码
docker buildx build [OPTIONS] PATH | URL | -

OPTIONS说明:

  • --add-host :向hosts文件中添加自定义 host:ip 映射
  • --build-arg=[] :设置镜像创建时的变量;
  • --cache-from :指定镜像用作当前构建的缓存镜像
  • --cgroup-parent :容器的可选父cgroup
  • --compress :使用gzip压缩构建上下文
  • --cpu-period :限制 CPU CFS周期;
  • --cpu-quota :限制 CPU CFS配额;
  • -c,--cpu-shares :设置 cpu 使用权重;
  • --cpuset-cpus :指定使用的CPU id;
  • --cpuset-mems :指定使用的内存 id;
  • --disable-content-trust :跳过镜像校验,默认为true;
  • -f,--file :指定要使用的Dockerfile路径;
  • --force-rm :不论构建是否成功,总是删除中间容器,默认false。注意:中间容器;
  • --iidfile :将镜像ID写入到文件
  • --isolation:使用容器隔离技术;
  • --label=[] :设置镜像使用的元数据;
  • -m :设置内存最大值;
  • --memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;
  • --network: 在构建期间为RUN指令设置网络模式(默认"default")与docker run指令无关
  • --no-cache :创建镜像的过程不使用缓存;
  • --pull :总是尝试去更新镜像的新版本;
  • --quiet, -q :安静模式,成功后只输出镜像 ID;
  • --rm :构建成功后,删除中间容器,默认true。注意:中间容器,不是镜像;
  • --security-opt :安全选项
  • --shm-size :设置/dev/shm的大小,默认值是64M;/dev/shm 是基于内存的tmpfs文件系统。
  • --ulimit :Ulimit配置。
  • --tag, -t : 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
  • --target : 设置要生成的目标生成阶段
  • --ulimit : Ulimit 选项
    示例:
bash 复制代码
docker build -t nodetodo:v1.0.0 -f Dockerfile .

docker rmi

删除本地一个或多个镜像。

bash 复制代码
docker rmi [OPTIONS] IMAGE [IMAGE...]

OPTIONS说明:

-f :强制删除;

--no-prune :不移除该镜像的过程镜像,默认移除。

docker tag

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

bash 复制代码
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

tag可以针对镜像进行版本管理和将镜像推到远程仓库。

docker save

将指定镜像保存成 tar 归档文件。

bash 复制代码
docker save [OPTIONS] IMAGE [IMAGE...]

OPTIONS 说明:

-o :输出到的文件。

bash 复制代码
docker save -o mynginx.tar mynginx:v1
# 解压文件,查看内容
tar vxf mynginx.tar -C mynginx

docker load

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

bash 复制代码
docker load [OPTIONS]

OPTIONS 说明:

--input , -i : 指定导入的文件,代替 STDIN。

--quiet , -q : 精简输出信息。

示例:

bash 复制代码
docker load -i mynginx.tar

docker import

从归档文件中创建镜像。

bash 复制代码
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

OPTIONS说明:

-c :应用docker 指令创建镜像。

-m :提交时的说明文字。

示例:

bash 复制代码
docker import mynginx.tar mynginx:v3

docker commit

从容器创建一个新的镜像。

bash 复制代码
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

-a :提交的镜像作者。

-c :使用Dockerfile指令来创建镜像。

-m :提交时的说明文字。

-p :在commit时,将容器暂停。

示例:

docker login/logout

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

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

bash 复制代码
docker login [OPTIONS] [SERVER]
docker logout [OPTIONS] [SERVER]

OPTIONS说明:

-u :登陆的用户名。

-p :登陆的密码。

示例:

bash 复制代码
docker login -u 用户名 -p 密码
docker logout

docker pull

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

bash 复制代码
docker pull [OPTIONS] NAME[:TAG|@DIGEST]

OPTIONS说明:

-a :拉取所有 tagged 镜像。

--disable-content-trust :忽略镜像的校验,默认开启。

docker push

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

bash 复制代码
docker push [OPTIONS] NAME[:TAG]

OPTIONS说明:

--disable-content-trust :忽略镜像的校验,默认开启。

从Docker Hub查找镜像。

bash 复制代码
docker search [OPTIONS] TERM

OPTIONS说明:

--automated :只列出 automated build类型的镜像。

--no-trunc :显示完整的镜像描述。

-f <过滤条件>:列出收藏数不小于指定值的镜像。

bash 复制代码
# 从 Docker Hub 查找所有镜像名包含 nginx,并且收藏数大于 10 的镜像
docker search -f stars=10 nginx

参数说明:

NAME: 镜像仓库源的名称

DESCRIPTION: 镜像的描述

OFFICIAL: 是否 docker 官方发布

stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

AUTOMATED: 自动构建。

总结

通过本文的介绍,掌握一系列重要的Docker镜像管理命令,从而让容器部署变得更加得心应手。无论是在开发、测试还是生产环境中,这些命令都能够帮助更好地管理和优化Docker镜像,提升云原生技能,加速容器部署,提高工作效率。

相关推荐
小张是铁粉8 分钟前
docker学习二天之镜像操作与容器操作
学习·docker·容器
会又不会10 分钟前
Jenkins-Publish HTML reports插件
运维·jenkins
烟雨书信21 分钟前
Docker文件操作、数据卷、挂载
运维·docker·容器
IT成长日记24 分钟前
【Docker基础】Docker数据卷管理:docker volume prune及其参数详解
运维·docker·容器·volume·prune
这儿有一堆花30 分钟前
Docker编译环境搭建与开发实战指南
运维·docker·容器
LuckyLay31 分钟前
Compose 高级用法详解——AI教你学Docker
运维·docker·容器
Uluoyu39 分钟前
redisSearch docker安装
运维·redis·docker·容器
IT成长日记5 小时前
【Docker基础】Docker数据持久化与卷(Volume)介绍
运维·docker·容器·数据持久化·volume·
热爱生活的猴子5 小时前
阿里云服务器正确配置 Docker 国内镜像的方法
服务器·阿里云·docker
物联网老王7 小时前
Ubuntu Linux Cursor 安装与使用一
linux·运维·ubuntu