Docker 镜像操纵笔记

打印 上一主题 下一主题

主题 829|帖子 829|积分 2487

一、简介

Docker 镜像是容器运行的底子,它包罗了容器运行所需的文件系统、应用步伐及其依靠。镜像是不可变的,每次修改都会生成一个新的镜像。以下是对 Docker 镜像操纵的详细介绍,包括常用的下令及其参数表明。

二、镜像操纵

(一)拉取镜像

1. 根本下令

  1. docker pull <镜像名>:<标签>
复制代码
2. 参数表明



  • docker pull:从远程仓库拉取镜像。
  • <镜像名>:镜像的名称,例如 nginx、ubuntu。
  • <标签>:镜像的版本或变体,例如 latest、1.20、alpine。如果未指定标签,默以为 latest。
3. 示例

  1. docker pull nginx:latest
复制代码
从 Docker Hub 拉取最新版本的 nginx 镜像。

(二)查看本地镜像

1. 根本下令

  1. docker images
复制代码
2. 参数表明



  • docker images:列出本地全部镜像。
  • -a:显示全部镜像,包括中间层镜像。
  • --filter:根据条件过滤镜像,例如按标签、仓库等。
  • --format:自定义输出格式。
3. 示例

  1. docker images
复制代码
输出示例:
  1. REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
  2. nginx        latest    1234567890ab   1 week ago      133MB
  3. ubuntu       20.04     0987654321cd   2 months ago    72MB
复制代码

(三)删除镜像

1. 根本下令

  1. docker rmi <镜像ID或名称>:<标签>
复制代码
2. 参数表明



  • docker rmi:删除本地镜像。
  • <镜像ID或名称>:镜像的唯一标识符或名称。
  • <标签>:镜像的标签。如果未指定标签,默认删除全部标签的镜像。
3. 示例

  1. docker rmi nginx:latest
复制代码
删除本地的 nginx:latest 镜像。

(四)构建镜像

1. 根本下令

  1. docker build -t <镜像名>:<标签> <上下文路径>
复制代码
2. 参数表明



  • docker build:从 Dockerfile 构建镜像。
  • -t:指定构建后的镜像名称和标签。
  • <镜像名>:<标签>:镜像名称和标签,例如 myapp:1.0。
  • <上下文路径>:Dockerfile 所在路径或上下文目录,默以为当前目录。
3. 示例

  1. docker build -t myapp:1.0 .
复制代码
在当前目录下构建镜像,命名为 myapp,标签为 1.0。

(五)导出和加载镜像

1. 导出镜像

  1. docker save <镜像名>:<标签> > <文件名>.tar
复制代码
2. 参数表明



  • docker save:将镜像导出为 .tar 文件。
  • <镜像名>:<标签>:指定要导出的镜像。
  • >:将输出重定向到文件。
3. 加载镜像

  1. docker load -i <文件名>.tar
复制代码
4. 参数表明



  • docker load:从 .tar 文件加载镜像。
  • -i:指定输入文件路径。
5. 示例

  1. docker save nginx:latest > nginx.tar
  2. docker load -i nginx.tar
复制代码

(六)查看镜像历史

1. 根本下令

  1. docker history <镜像名>:<标签>
复制代码
2. 参数表明



  • docker history:查看镜像的构建历史。
  • <镜像名>:<标签>:指定镜像。
3. 示例

  1. docker history nginx:latest
复制代码
输出示例:
  1. IMAGE ID       CREATED         CREATED BY                                      SIZE
  2. 1234567890ab   1 week ago      /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon of... 0B
  3. <missing>      1 week ago      /bin/sh -c #(nop) EXPOSE 80/tcp                 0B
  4. <missing>      1 week ago      /bin/sh -c #(nop) ENTRYPOINT ["/docker-entryp... 0B
  5. <missing>      1 week ago      /bin/sh -c #(nop) COPY file:abc123... in /      133MB
复制代码

(七)镜像标签管理

1. 重新标记镜像

  1. docker tag <原镜像名>:<原标签> <新镜像名>:<新标签>
复制代码
2. 参数表明



  • docker tag:为镜像重新标记。
  • <原镜像名>:<原标签>:原镜像的名称和标签。
  • <新镜像名>:<新标签>:新的镜像名称和标签。
3. 示例

  1. docker tag nginx:latest my-nginx:1.0
复制代码
将 nginx:latest 重新标记为 my-nginx:1.0。

(八)推送镜像到远程仓库

1. 根本下令

  1. docker push <镜像名>:<标签>
复制代码
2. 参数表明



  • docker push:将本地镜像推送到远程仓库(如 Docker Hub、私有仓库)。
  • <镜像名>:<标签>:镜像名称和标签。如果镜像属于私有仓库,需要包罗仓库地址,例如 myregistry.com/myapp:1.0。
3. 示例

  1. docker push myapp:1.0
复制代码
将本地的 myapp:1.0 镜像推送到 Docker Hub。

三、总结

Docker 镜像操纵是 Docker 使用的核心内容之一。通过掌握以下下令,可以高效地管理镜像:


  • 拉取镜像:docker pull
  • 查看本地镜像:docker images
  • 删除镜像:docker rmi
  • 构建镜像:docker build
  • 导出和加载镜像:docker save 和 docker load
  • 查看镜像历史:docker history
  • 重新标记镜像:docker tag
  • 推送镜像到远程仓库:docker push
合理使用这些下令,可以资助开发者和运维人员更好地管理镜像,确保应用的高效摆设和维护。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

祗疼妳一个

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表