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镜像,提升云原生技能,加速容器部署,提高工作效率。

相关推荐
山东布谷科技官方几秒前
布谷直播源码部署服务器关于数据库配置的详细说明
运维·服务器·数据库·直播系统源码·直播源码·直播系统搭建·直播软件开发
One_Blanks1 分钟前
渗透测试-Linux基础(1)
linux·运维·安全
爱吃喵的鲤鱼5 分钟前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
dessler17 分钟前
Linux系统-ubuntu系统安装
linux·运维·云计算
向阳121824 分钟前
Dubbo负载均衡
java·运维·负载均衡·dubbo
荒Huang1 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
海阔天空_20131 小时前
Python pyautogui库:自动化操作的强大工具
运维·开发语言·python·青少年编程·自动化
桥田智能1 小时前
气爪在自动化装配线中是如何应用的?
运维·自动化
MonkeyKing_sunyuhua1 小时前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
追风林2 小时前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac