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中的命令。

相关推荐
信创天地30 分钟前
国产堡垒机部署实战:以奇安信、天融信为例构建运维安全三重防线
运维·安全
呉師傅1 小时前
东芝3525AC彩色复印机CC219测试页打印方法【实际操作】
运维·网络·windows·计算机外设·电脑
宴之敖者、2 小时前
Linux——权限
linux·运维·服务器
oscar9993 小时前
构建敏捷团队的DevOps测试策略:速度与可靠性的平衡艺术
运维·测试·devops
青衫客363 小时前
浅谈Kubernetes在systemd cgroup模式下的Slice/Scope组织结构
云原生·容器·kubernetes
王九思3 小时前
Podman 介绍
docker·云原生·kubernetes·podman
星辰&与海4 小时前
Proxmox导入虚拟机后进入dracut紧急模式
运维
Serverless社区4 小时前
进阶指南:BrowserUse + Agentrun Sandbox 最佳实践指南
运维·阿里云·云原生·serverless·函数计算
Maggie_ssss_supp5 小时前
Linux-MySQL权限管理
linux·运维·mysql
石像鬼₧魂石5 小时前
Kali Linux 内网渗透:深度工程实施手册
linux·运维·服务器