深入了解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镜像的操作。如果你有任何问题或需要更多深入的信息,请随时留言。

相关推荐
hashiqimiya24 分钟前
springboot事务触发滚动与不滚蛋
java·spring boot·后端
TeamDev42 分钟前
基于 Angular UI 的 C# 桌面应用
前端·后端·angular.js
PPPHUANG1 小时前
一次 CompletableFuture 误用,如何耗尽 IO 线程池并拖垮整个系统
java·后端·代码规范
用户8356290780511 小时前
用Python轻松管理Word页脚:批量处理与多节文档技巧
后端·python
想用offer打牌1 小时前
一站式了解Spring AI Alibaba的流式输出
java·人工智能·后端
秋说2 小时前
华为 DevKit 25.2.rc1 源码迁移分析使用教程(openEuler + ARM64)
后端
ServBay2 小时前
C# 成为 2025 年的编程语言,7个C#技巧助力开发效率
后端·c#·.net
行百里er2 小时前
一个还没写代码的开源项目,我先来“画个饼”:Spring Insight
后端·开源·github
威哥爱编程2 小时前
2026年的IT圈,看看谁在“裸泳”,谁在“吃肉”
后端·ai编程·harmonyos
码事漫谈2 小时前
当多态在构造中“失效”的那一刻
后端