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

Docker 说明与安装

Docker 说明与安装

一、什么是容器?

容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。

一个容器包含了完整的运行时环境

  • 应用程序本身
  • 其所有依赖(库、配置文件、二进制文件等)

容器将应用程序与其运行环境一起打包,抽象掉了操作系统和底层环境的差异,实现“一次构建,到处运行”。

二、容器 vs 虚拟机

容器虚拟机
共享宿主机内核每个虚拟机有独立内核
轻量、启动快重量级、启动慢
资源占用少资源占用多
适用于应用隔离适用于完整系统隔离

容器不是虚拟化整个操作系统,而是虚拟化用户空间

三、为什么需要容器?

现代应用通常由多个服务组成(如数据库、缓存、消息队列等),并部署在多种环境中(开发机、测试服务器、生产云平台等)。这导致一个复杂的服务-环境矩阵,管理和部署非常困难。

容器通过标准化封装解决了环境一致性问题,就像集装箱标准化了货物运输一样:

  • 一次打包,到处运行
  • 环境隔离,依赖不冲突
  • 提升部署效率和可移植性

四、容器的标准化:OCI

2015年,由Google、Docker、CoreOS、IBM、微软、红帽等公司共同发起成立OCI(Open Container Initiative),制定容器运行时和镜像格式的开放标准。

主流容器运行时:

  • lxc:Linux 老牌运行时
  • runc:Docker 开发,符合 OCI 标准,是 Docker 默认运行时
  • rkt:CoreOS 开发,也符合 OCI 标准

五、什么是 Docker ?

Docker 最初是 dotCloud 公司内部项目,2013年开源,使用 Go 语言编写。

Docker 是一个开发、交付和运行应用程序的开放平台,它实现了应用与基础设施的解耦,使软件交付更快速、可靠。

六、Docker 的优势

  1. 更快速的交付和部署
    • 镜像标准化,开发即生产
    • 启动秒级,提升开发测试效率
  2. 更高效的虚拟化
    • 基于内核虚拟化,无需 Hypervisor
    • 性能接近原生
  3. 更轻松的迁移和扩展
    • 支持跨平台运行(物理机、虚拟机、公有云、私有云等)
  4. 更简单的管理
    • 增量更新,易于维护
    • 自动化部署和管理

七、Docker 架构

Docker 采用 C/S 架构

核心组件:
  1. Docker客户端:如 docker 命令或 REST API
  2. Docker守护进程dockerd,负责构建、运行、管理容器
  3. Docker镜像:只读模板,用于创建容器
  4. Docker容器:镜像的运行实例
  5. Registry:镜像仓库,如 Docker Hub、阿里云、腾讯云等

八、Docker 安装

1、关闭防火墙和 selinux
2、下载阿里源
[root@docker ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@docker ~]# yum -y install epel-release
3、安装系统工具
[root@docker ~]# yum install -y yum-utils
4、添加软件源信息
[root@docker ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、安装 Docker
[root@docker ~]# yum install docker-ce
6、启动 Docker
[root@docker ~]# systemctl restart docker
[root@docker ~]# systemctl enable docker
7、配置加速器
[root@docker ~]# cd /etc/docker/
[root@docker docker]# vim daemon.json[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker
{"registry-mirrors": ["https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"]
}

九、总结

  1. 容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同
    的方式运行
  2. 容器与虚拟化有本质区别,容器时共享宿主机的内核空间,隔离用户空间,而虚拟化是构建一
    个完全独立的虚拟基础设施环境
  3. 容器使软件具备了超强的可移植能力
http://www.dtcms.com/a/457281.html

相关文章:

  • Docker 镜像结构与相关核心知识总结
  • 容器技术与 Docker 入门部署
  • linux学习笔记(20)线程
  • Vue3后台表单快速开发
  • 前端技术栈 —— 创建React项目
  • 推荐一个 GitHub 开源项目信息卡片生成工具,支持Docker快速部署和API调用
  • 元宇宙的工业制造应用:重构生产、研发与供应链
  • 做美足网站违法吗北京网站建设哪家比较好
  • 2025版本的idea解决Git冲突
  • 深入浅出 HarmonyOS ArkTS:现代跨平台应用开发的语法基石
  • Spring boot 3.0整合RocketMQ不兼容的问题
  • 淮安制作企业网站莱芜金点子最新招聘
  • AI+机器人浪潮已至:是方舟还是巨浪?
  • Linux:虚拟世界的大门
  • 市桥网站建设培训数据库与网站建设
  • LangGraph学习笔记 (二)-10分钟搭建自己第一个Agent
  • Sutton:LLM 通往 AGI 的隐秘瓶颈
  • 吴恩达机器学习课程(PyTorch 适配)学习笔记大纲
  • 聊透自动驾驶系统:从“怎么跑”到“怎么聪明跑”
  • 网站建设属于什么职能wordpress建站教程
  • LeetCode 刷题【107. 二叉树的层序遍历 II、108. 将有序数组转换为二叉搜索树】
  • 宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
  • 9. linux shell命令(6)Linux网络配置管理
  • 专做品质游的网站河东苏州网站建设
  • Spring的三级缓存原理 笔记251008
  • Coze源码分析-资源库-编辑数据库-后端源码-应用/领域/数据访问/基础设施层
  • 北京建设网站的公司兴田德润简介济南网站建设平台官网
  • 力扣 —— 动态规划(背包问题)
  • 基础微网站开发代理商wordpress图文模板
  • bind,apply,call