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

相关推荐
coderWangbuer几秒前
基于springboot的高校招生系统(含源码+sql+视频导入教程+文档+PPT)
spring boot·后端·sql
攸攸太上6 分钟前
JMeter学习
java·后端·学习·jmeter·微服务
Kenny.志9 分钟前
2、Spring Boot 3.x 集成 Feign
java·spring boot·后端
sky丶Mamba27 分钟前
Spring Boot中获取application.yml中属性的几种方式
java·spring boot·后端
千里码aicood1 小时前
【2025】springboot教学评价管理系统(源码+文档+调试+答疑)
java·spring boot·后端·教学管理系统
程序员-珍2 小时前
使用openapi生成前端请求文件报错 ‘Token “Integer“ does not exist.‘
java·前端·spring boot·后端·restful·个人开发
liuxin334455662 小时前
教育技术革新:SpringBoot在线教育系统开发
数据库·spring boot·后端
数字扫地僧2 小时前
HBase与Hive、Spark的集成应用案例
后端
架构师吕师傅2 小时前
性能优化实战(三):缓存为王-面向缓存的设计
后端·微服务·架构
bug菌3 小时前
Java GUI编程进阶:多线程与并发处理的实战指南
java·后端·java ee