Docker相关知识

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

Docker核心概念理解

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

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

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

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

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

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

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

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

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

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

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

  • 传统虚拟机:需要模拟完整的硬件,安装完整的操作系统,启动慢(分钟级),占用资源多(几 GB 内存);
  • Docker 容器:共享宿主系统的内核,不需要模拟硬件,仅运行程序和必要依赖,启动快(秒级),占用资源极少(几百 MB 内存)。
相关推荐
仙柒4159 小时前
Docker存储原理
运维·docker·容器
快乐的哈士奇12 小时前
LangFuse 自托管实战:选型理由、Docker 部署与常用配置全解析
运维·人工智能·docker·容器
weixin_4492900114 小时前
Docker + MySQL 在 Windows 11 上的本地安装部署文档
mysql·docker·容器
Ysn071914 小时前
中文乱码:在 Docker 容器中设置中文语言环境
运维·python·docker·容器
米高梅狮子14 小时前
01.CentOS-Stream-8-packstack安装OpenStack
linux·云原生·容器·kubernetes·centos·自动化·openstack
zxd02031115 小时前
EFK(Elasticsearch + Fluentd + Kibana) 日志收集系统
运维·docker·jenkins
终端行者15 小时前
Jenkins Pipeline 企业级用法 参数化构建+Ansible发布---上
docker·ansible·jenkins·cicd
亚空间仓鼠16 小时前
Docker容器化高可用架构部署方案(十三)
docker·容器·架构
米高梅狮子17 小时前
01.mysql的备份与恢复
运维·数据库·mysql·docker·容器·kubernetes·github
console.log('npc')17 小时前
Windows 11 → WSL2 → Ubuntu → Docker → Codex → Sub2API
windows·ubuntu·docker