Docker相关知识

Docker是一个轻量级的环境隔离工具,可以把程序和它运行所需要的所有依赖打包成一个独立的镜像文件,然后在任何支持Docker的系统(WSL、Linux、Windows、Mac)上通过这个镜像创建容器来运行程序--容器里的环境是完全独立的,和你本地的系统、软件、虚拟环境没有任何关联。

Docker核心概念理解

1、镜像(Image)=预装了所有软件的 系统安装包

开发者提前编译好的完整包,这个包是只读的,能在任何Docker环境中复用,保证在哪运行,环境都完全一样。

2、容器(Container)=用 安装包 启动的 独立小程序

通过镜像创建容器,就相当于用这个预装的环境包,启动了一个专门运行的独立进程--容器有自己的文件系统、环境变量。

容器里装软件、改配置,不会影响你本地的任何文件和环境

本地的系统更新、软件安装,也不会影响容器里

容器可以随时启动 / 停止 / 删除,删除后不会在本地留下任何垃圾文件。

3、挂载(Volume)=容器和本地的 文件传输通道

Docker 容器默认是隔离的,无法访问你本地的文件,挂载 就是给容器开一个专属通道,把你本地的目录和容器内的目录绑定,让容器能读取本地的文件,同时容器运行产生的成果也会同步回本地目录。

Docker 和conda 虚拟环境的核心区别:

Docker 不是虚拟机,比虚拟机更轻量

  • 传统虚拟机:需要模拟完整的硬件,安装完整的操作系统,启动慢(分钟级),占用资源多(几 GB 内存);
  • Docker 容器:共享宿主系统的内核,不需要模拟硬件,仅运行程序和必要依赖,启动快(秒级),占用资源极少(几百 MB 内存)。
相关推荐
张忠琳3 小时前
【NVIDIA】NVIDIA Container Toolkit v1.19.1--07-NVCDI模块:CDI Spec生成引擎深度分析之七
云原生·容器·架构·kubernetes·nvidia
沉迷学习 日益消瘦5 小时前
01-Kubernetes 入门:概念与安装
云原生·容器·kubernetes
weixin_419658316 小时前
Docker 搭建 Jenkins 服务
java·docker·jenkins
BullSmall9 小时前
Tomcat 部署 Jenkins → Docker Jenkins 完整迁移方案
docker·tomcat·jenkins
糟糕喔9 小时前
k8s-云原生cicd
云原生·容器·kubernetes
ruofu3310 小时前
下载nvidia_*_cu13的指令(更新:利用torch 版本拉取相关依赖)
docker·容器
独孤--蝴蝶10 小时前
Docker容器进阶(一)
运维·docker·容器
冰封之寂13 小时前
Docker Compose 容器编排实战:从入门到 LNMP 环境部署-zabbix监控
docker·容器·zabbix
带娃的IT创业者14 小时前
原生体验的回归:深入解析 TREK —— 专为 Apple Silicon 打造的轻量级容器方案
macos·docker·虚拟化·开源项目·容器化·apple silicon·trek
爱吃龙利鱼14 小时前
K8s 运维体系搭建:全组件监控与日志收集实战(victoria-metrics-k8s-stack 0.87.0)
运维·容器·kubernetes