Docker入门 ------ 概念和安装

简述:什么是Docker?

简单来说就是Google公司使用Go语言进行开发实现的,基于Linux内核的cgourp,namespace,以及AUFS类的Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。

Docker 的构想是要实现"Build,Ship and Run Any App,Anywhere",即一次封装,"到处运行"

使用Docker的优势

Docker能在任何时间,任何地点被获取,可以让开发者以一种新型的创建分布式应用程序的方式,快速分发和部署。

举个例子LAMP(Linux+Apache+Mysql+PHP)部署一个网站,你需要分别安装环境,再进行配置,经过大量的操作后还要进行功能测试,查看是否正常。更可怕的是如果进行服务器迁移,往往需要重头开始,这是一个没有意义的体力话。

Docker则提供了一种更加聪明的方式,通过容器来打包应用,解耦应用和运行平台。

总结来说:

  1. 更快速的交付和部署
  2. 更高效的资源利用
  3. 更轻松地迁移和扩展
  4. 更简单的更新管理

Docker和虚拟机比较

  1. Docker容器很快,基本是以秒为单位
  2. Docker容器对系统资源需求少
  3. Docker通过类似Git的设计理念方便用户获取
  4. Docker通过Dockerfile支持灵活的自动化创建和部署机器
  5. 除了运行其中应用外,基本不消耗额外的系统资源,保证应用性能的通知,尽量减少系统开销。虚拟机则需要单独分配若干资源(磁盘、内存等)
  6. 但是隔离性不如虚拟机,但是不意味Docker不安全(利用了Linux系统上的防护技术实现了严格的隔离可靠性)

关于虚拟化

Docker是属于操作系统级虚拟化,即通过创建多个虚拟的操作系统实例来隔离不同进程。

上图可以看出,传统的实在硬件层面完成虚拟化,有额外的虚拟机管理应用和虚拟机操作系统层,Docker则是直接在操作层面上实现虚拟化。

Docker核心概念

Docker的核心概念有镜像、容器和仓库,我来分别介绍一下。

镜像

Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。

容器

Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。

注意: 镜像自身是只读的。容器从镜像启动的时候,会在镜像的最上层创建一个可写层。

仓库

Docker仓库类似于代码仓库,它是集中Docker集中存放镜像文件的场所。主要有公开和私有仓库。

安装Docker

用户可以通过访问Docker官网的Get Docker页面,查看获取Docker的方式,以及Docker支持的平台类型

https://www.docker.com/products/overview

1.在Centos环境下安装Docker

接下来我们将要正式的在centos中操作Docker.

分别执行

安装需要的软件包: yum install -y yum-utils device-mapper-persistent-data lvm2

设置源: sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装: sudo yum install docker-ce

启动开机启动:

sudo systemctl start docker

sudo systemctl enable docker

输入docker version显示以下内容即为成功.

总结

本章主要讲解了Docker的背景、使用Docker的优势、和虚拟机的差别、核心概念是什么和如何在Centos中如何安装Docker。在下一章中我们将主要学习Docker中的命令。

相关推荐
鹤落晴春3 小时前
【K8s】Pod调度、configMaps
云原生·容器·kubernetes
极客先躯4 小时前
高级java每日一道面试题-2026年02月02日-实战篇[Docker]-如何实现容器的持久化存储?
docker·容器·面试宝典·持久化·存储·韵味·java高级面试题
云计算磊哥@4 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
天天进步20155 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
My is 李豆5 小时前
CentOS 7 安装 Docker 完整教程(含 docker-compose 插件)
docker·eureka·centos
极客先躯5 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结6 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
志栋智能6 小时前
超自动化巡检:提升MTTR,缩短业务影响时间
运维·自动化
kong@react6 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
睡不醒男孩0308237 小时前
第八篇:如何构建一站式 PostgreSQL 性能优化与智能管控平台?从盲目排查到 CLup 自动化运维演进
运维·postgresql·性能优化