跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
代码酷
搜索
搜索
中文(中国大陆)
外观
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“︁
Docker简介
”︁(章节)
页面
讨论
大陆简体
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
您的更改会在有权核准的用户核准后向读者展示。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
= Docker简介 = Docker是一种开源的容器化平台,用于开发、部署和运行应用程序。它通过将应用程序及其依赖项打包到一个轻量级、可移植的容器中,实现了跨环境的一致性运行。Docker的核心思想是"一次构建,随处运行"(Build Once, Run Anywhere),解决了传统虚拟化技术资源占用高、启动慢的问题。 == 核心概念 == Docker基于以下几个关键概念: === 容器(Container) === 容器是轻量级、可执行的软件包,包含运行应用程序所需的所有内容: * 代码 * 运行时环境 * 系统工具 * 系统库 * 配置 === 镜像(Image) === 镜像是容器的模板,包含创建容器所需的文件系统结构和内容。镜像采用分层存储结构,使得镜像可以高效地共享和复用。 === Docker引擎(Docker Engine) === Docker的核心组件,包含: * 服务端守护进程(dockerd) * REST API接口 * 命令行界面(CLI) <mermaid> graph LR A[Docker客户端] -->|发送指令| B[Docker守护进程] B -->|管理| C[容器] B -->|构建/拉取| D[镜像] D -->|实例化| C </mermaid> == Docker与传统虚拟化的区别 == Docker与传统虚拟机(VM)的主要区别在于架构层次: <mermaid> graph TD subgraph VM A[应用] --> B[Guest OS] B --> C[Hypervisor] C --> D[Host OS] end subgraph Docker E[应用] --> F[容器引擎] F --> G[Host OS] end </mermaid> 关键区别: * Docker容器共享主机操作系统内核 * 容器启动时间通常在秒级(虚拟机需要分钟级) * 容器占用资源更少 * 容器镜像比虚拟机镜像小得多 == 基本工作流程 == 1. 开发者在Dockerfile中定义应用环境 2. 构建Docker镜像 3. 将镜像推送到镜像仓库 4. 在生产环境拉取并运行镜像 == 示例:运行第一个容器 == 以下示例展示如何运行一个简单的Nginx web服务器容器: <syntaxhighlight lang="bash"> # 从Docker Hub拉取官方Nginx镜像 docker pull nginx # 运行容器,映射主机端口8080到容器端口80 docker run -d -p 8080:80 --name my-nginx nginx </syntaxhighlight> 输出示例: <pre> Unable to find image 'nginx:latest' locally latest: Pulling from library/nginx ... Status: Downloaded newer image for nginx:latest d1a649a6b5a1d4a7b3f3e3e3e3e3e3e3e3e3e3e3e3 </pre> 访问http://localhost:8080即可看到Nginx欢迎页面。 == 实际应用场景 == Docker在以下场景中特别有用: === 微服务架构 === 每个微服务可以打包为独立的容器,便于开发、测试和部署。 === 持续集成/持续部署(CI/CD) === 确保开发、测试和生产环境的一致性,避免"在我机器上能运行"的问题。 === 混合云部署 === 相同的容器可以在本地开发机、公有云和私有云之间无缝迁移。 === 快速环境搭建 === 例如,开发人员可以快速启动包含数据库、消息队列和应用程序的完整环境: <syntaxhighlight lang="bash"> docker-compose up -d </syntaxhighlight> == 数学基础 == Docker的资源限制基于Linux cgroups,可以使用数学公式表示资源分配。例如,CPU份额分配公式: <math> CPU份额 = \frac{容器CPU份额}{所有容器CPU份额总和} \times 可用CPU资源 </math> == 优势总结 == * '''一致性''':环境一致,消除"在我机器上能运行"问题 * '''隔离性''':进程、网络、文件系统隔离 * '''便携性''':可在任何支持Docker的平台运行 * '''高效性''':资源利用率高,启动快速 * '''可扩展性''':易于水平扩展 == 后续学习建议 == 掌握Docker简介后,建议继续学习: * Docker安装与配置 * Dockerfile编写 * Docker镜像构建与管理 * Docker网络与存储 * Docker Compose多容器编排 [[Category:集成部署]] [[Category:Docker]] [[Category:Docker基础]]
摘要:
请注意,所有对代码酷的贡献均被视为依照知识共享署名-非商业性使用-相同方式共享发表(详情请见
代码酷:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)