深入了解Docker镜像操作

Docker是一种流行的容器化平台,它允许开发者将应用程序及其依赖项打包成容器,以便在不同环境中轻松部署和运行。在Docker中,镜像是构建容器的基础,有些家人们可能在服务器上对docker镜像的操作命令不是很熟悉,本文将深入探讨Docker镜像的操作。

什么是Docker镜像?

Docker镜像是一个轻量级、独立的、可执行的软件包,包含了运行应用程序所需的一切:代码、运行时环境、系统工具和库。Docker镜像是不可修改的,任何更改都会创建一个新的镜像。

Docker镜像操作命令

  • 获取现有镜像

使用docker pull命令可以从Docker Hub或其他镜像仓库获取现有的Docker镜像。例如,要获取mysql8.0的镜像,可以运行以下命令:

复制代码
docker pull mysql:8.0 

mysql:8.0 是镜像名和版本

  • 查看本地镜像列表

运行以下命令以查看本地存储的Docker镜像列表:

复制代码
docker images

如果本地镜像比较多的话可以用grep 过滤下

perl 复制代码
docker images | grep mysql

_20230901214644.png

  • 删除镜像

使用docker rmi命令可以删除本地的Docker镜像,我们可以根据镜像名+版本 号或者镜像Id删除

镜像名:版本 删除

复制代码
docker rmi python:3.10-slim

IMAGE ID 删除

复制代码
docker rmi eb5bc7d10d52

_20230901215032.png

  • 标记镜像

使用docker tag命令可以为镜像添加标签,以便更好地组织和管理镜像。

镜像名:版本

复制代码
docker tag python:3.9 python-xj:3.9-xj

IMAGE ID

复制代码
docker tag 21a7e8111dc2 python-alpine-xj:3.9-alpine-xj

_20230901215808.png

  • 镜像保存为文件

语法

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

参数说明:

  • OPTIONS: 可以使用以下选项来定制docker save命令的行为:

    • -o, --output=[]: 指定输出文件名,将镜像保存到指定文件,默认是STDOUT。
    • --quiet, -q: 静默模式,只输出存档文件名。
  • IMAGE: 要保存为tar存档文件的一个或多个Docker镜像的名称或ID。

保存单个镜像到tar文件

复制代码
docker save -o python.tar python:3.9

保存多个镜像到一个tar文件

复制代码
 docker save -o pythonstwo.tar python:3.9 python:3.9-alpine

_20230901220925.png

  • 用文件加载镜像
css 复制代码
docker load [OPTIONS]

参数说明:

  • OPTIONS: 可以使用以下选项来定制docker load命令的行为:

    • -i, --input=[]: 指定输入文件名,从指定文件加载镜像,默认是STDIN。
css 复制代码
 docker load -i python.tar

_20230901222020.png

总结

Docker镜像是Docker容器的基础,它们是可重用、可共享的软件包,使应用程序的部署和管理变得更加简单和可靠。在本文中,我们了解了如何获取、构建、查看、删除、标记、保存和加载Docker镜像,这些都是在Docker世界中必不可少的操作。

希望这篇文章帮助你更深入地理解Docker镜像的操作。如果你有任何问题或需要更多深入的信息,请随时留言。

相关推荐
jieyucx12 小时前
# Go 语言指针零基础入门详解
开发语言·后端·golang
时空系12 小时前
第3篇:数据的运算——让数据动起来 Rust中文编程
开发语言·后端·rust
Shadow(⊙o⊙)12 小时前
智能指针、循环引用、锁、删除器
开发语言·c++·后端·visual studio
星浩AI12 小时前
OpenAI 大神 Karpathy 开源:用 Obsidian 实现 LLM Wiki 知识库管理方法
后端·openai·agent
长河13 小时前
基于 Jib 实现无 Dockerfile 的 Spring Boot 应用容器化
java·spring boot·后端
架构源启13 小时前
2026 进阶篇:深入理解Spring Reactor响应式编程的核心引擎(源码级解析+实战避坑)
java·后端·spring
用户9623779544813 小时前
Ghost Bits:高位截断如何让 Java WAF 形同虚设
后端
薪火铺子13 小时前
SpringMVC请求处理流程源码解析(第2篇):处理器执行与参数绑定
java·后端·spring
SamDeepThinking13 小时前
一个跑了三年没出过问题的系统,我是怎么设计的
java·后端·架构
写了20年代码的老程序员13 小时前
做接口开发最烦的,不是 JSON 深,而是它打断你思考业务
后端