当前位置: 首页 > news >正文

docker中 contriner 和 images 什么关系

目录

启动容器:

实际启动命令: 

dcoker中 contriner 和 images 什么关系

🧱 镜像(Image)是什么?

📦 容器(Container)是什么?

它们的关系总结如下:

图示关系:

查看命令:


启动容器:

docker compose up -d当前项目(需在 docker-compose.yml 所在目录执行)✅ 是启动项目所有服务(生产/开发环境)
docker run -d单个容器(需指定镜像名)✅ 是快速测试某个镜像
docker start <容器名>单个已存在的容器✅ 是重启之前停止的容器

实际启动命令: 

// 使用GPU启动方式 
// --gpus all 使用宿主机所有gpu加载到容器中 
// -shm-size=800g 设置共享内存 如果大量使用 
// --net=host 参数使容器共享宿主机的网络命名空间。这意味着容器将不会获得自己的IP地址,而是使用宿主机的网络堆栈。 
// --ipc=host 参数使容器共享宿主机的进程间通信(IPC)命名空间。这允许容器内的进程和宿主机上的进程共享IPC资源。 
// -v 参数挂载一个卷。这里将宿主机的 /mnt/pfs 目录挂载到容器的 /mnt/pfs 目录,使得容器可以访问宿主机上的文件。 
// -i 参数保持容器的标准输入(STDIN)打开,即使没有附加到容器终端。 
// -t 参数分配一个伪终端。这两个参数通常一起使用,以便你可以交互式地使用容器 docker run --gpus all --shm-size=800g --net=host --ipc=host --name [容器名称] -v /mnt/pfs:/mnt/pfs -v /shared_disk:/shared_disk -it [镜像地址] /bin/bash

docker ps # 查看运行中的容器

docker compose ps # 查看当前项目的容器状态

docker compose down停止并移除所有容器、网络(不会删除数据卷
docker compose restart重启容器(保持配置不变)
docker compose logs -f实时查看容器日志(调试用)
docker compose pull更新镜像(需配合 up -d 重新启动)

dcoker中 contriner 和 images 什么关系

images 是制度模板,

在 Docker 中,container(容器)和 image(镜像)是两个核心概念,它们之间的关系可以类比为“类与实例”的关系:


🧱 镜像(Image)是什么?

  • 是一个只读模板,包含了运行某个软件所需的所有内容:

    • 应用程序代码

    • 系统工具

    • 系统库

    • 依赖项

  • 镜像就像一个快照或“蓝图”,是创建容器的基础。

示例:

 

bash

复制编辑

docker pull python:3.10

这条命令会下载一个包含 Python 3.10 的镜像。


📦 容器(Container)是什么?

  • 是镜像运行后的实例,是一个真正“活着”的进程。

  • 容器是隔离的运行环境,它从镜像启动,并在其上运行应用。

  • 容器可以读写(虽然镜像本身是只读的)。

示例:

 

bash

复制编辑

docker run -it python:3.10

这条命令会:

  1. python:3.10 镜像启动一个容器;

  2. 给你一个交互式终端进入容器内部。


它们的关系总结如下:

概念类比说明
Image类 / 模板只读的运行环境模板,用来创建容器
Container实例 / 进程镜像的运行时实例,是具体在执行的程序
镜像可以启动多个容器类似于一个类可以创建多个对象


图示关系:

 

less

复制编辑

[Image: python:3.10] | ----------------- | | | [Container] [Container] [Container] (运行) (运行) (运行)


查看命令:

  • 查看所有镜像:

     

    bash

    复制编辑

    docker images

  • 查看所有容器(包括停止的):

     

    bash

    复制编辑

    docker ps -a

  • 只看正在运行的容器:

     

    bash

    复制编辑

    docker ps

http://www.dtcms.com/a/284578.html

相关文章:

  • Oracle 成本优化器(CBO)与数据库统计信息:核心原理与实践
  • 深度学习计算图学习路线
  • Python获取网页乱码问题终极解决方案 | Python爬虫编码处理指南
  • UE5 lumen
  • 《Oracle SQL:使用 RTRIM 和 TO_CHAR 函数格式化数字并移除多余小数点》
  • 解读PLM系统软件在制造企业研发管理中的应用
  • 【神经网络在MATLAB中是如何实现的?】
  • 解锁Windows下Composer切换PHP版本的奥秘
  • 老牌支付品牌钱如潮入局本地生活抽佣系统,行业竞争加剧
  • Linux Shell脚本
  • linux端口监听命令
  • 支付宝智能助理用户会话实时统计:Flink定时器与状态管理实战解析
  • 全面升级!WizTelemetry 可观测平台 2.0 深度解析:打造云原生时代的智能可观测平台
  • cve-2012-0809 sudo格式化字符串漏洞分析及利用
  • TASK01【datawhale组队学习】地瓜机器人具身智能概述
  • Jmeter系列(八)-定时器(待更新)
  • 电缆安全双保险:不止防盗,更能防触电的塔能智慧照明守护方案
  • 【推荐100个unity插件】使用C#或者unity实现爬虫爬取静态网页数据——Html Agility Pack (HAP)库和XPath 语法的使用
  • 腾讯位置商业授权鸿蒙地图SDK
  • 【中等】题解力扣22:括号生成
  • 【专题十二】栈
  • 调用接口报错,使用postman调用就没问题如何解决
  • Redis 生产实战 7×24:容量规划、性能调优、故障演练与成本治理 40 条军规
  • Apollo10.0学习——control模块(2)之纵向控制器参数说明
  • Redisson布隆过滤器原理以及解决Redis缓存穿透方案
  • 单片机(STM32-时钟系统)
  • js是实现记住密码自动填充功能
  • PyCharm 高效入门指南:从安装到进阶,解锁 Python 开发全流程
  • EXCEL VBA合并当前工作簿的所有工作表sheet
  • 切比雪夫不等式的理解以及推导【超详细笔记】