文章目录

  • docker的安装
    • Linux设备要求
    • 1、安装相关编译环境
    • 2、安装Docker
    • 3、启动和停止
    • 测试hello-world
    • 卸载Docker
  • docker简介
    • 什么是docker
    • Docker设计思想
  • 为什么要使用docker?
  • docker的局限性

docker的安装

Linux设备要求

centOS7.0以上,内核3.10及以上
内核查看方法

uname -r

1、安装相关编译环境
yum -y install gccyum -y install gcc-c++
2、安装Docker
yum install docker
3、启动和停止
# 启动
systemctl start docker
# 停止
systemctl stop docker
测试hello-world
# 由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。
docker run hello-world

如果看到如下界面就表示安装成功了

卸载Docker
systemctl stop docker
yum -y remover docker
rm -rf /var/lib/docker

docker简介

什么是docker

Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。项目后来加入了Linux基金会,遵从了Apache2.0协议,项目代码在GitHub上进行维护。Docker自开源后受到广范的关注和讨论,以至于dotCloud公司后来都改名为Docker Inc。RedHat已经在其RHEL6.5中集中支持Docker;Google也在其PaaS产品中广泛应用。Docker的目标是实现经量级的操作系统虚拟化解决方案。Docker的基础是Linux容器(LXC)等技术。在LXC的基础上Docker进行了进一步的封装,让用户不需要关心容器的管理,使得操作更加简单。用户操作Docker的容器就像操作一个快速轻量级的虚拟机一样简单。
下图比较了Docker和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现的虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层现实现

Docker设计思想

Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker就是集装箱。

  • 不同的应用程序可能会有不同的应用环境,比如.net开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且很麻烦,还会造成一些冲突。比如IIS和Apache访问端口冲突。这个时候你就要隔离.net开发的网站和php开发的网站。常规来讲,我们可以在服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用,但是虚拟机开销比较高。docker可以实现虚拟机隔离应用环境的功能,并且开销比虚拟机小,小就意味着省钱了。

  • 你开发软件的时候用的是Ubuntu,但是运维管理的都是centos,运维在把你的软件从开发环境转移到生产环境的时候就会遇到一些Ubuntu转centos的问题,比如:有个特殊版本的数据库,只有Ubuntu支持,centos不支持,在转移的过程当中运维就得想办法解决这样的问题。这时候要是有docker你就可以把开发环境直接封装转移给运维,运维直接部署你给他的docker就可以了。而且部署速度快。

  • 在服务器负载方面,如果你单独开一个虚拟机,那么虚拟机会占用空闲内存的,docker部署的话,这些内存就会利用起来。
    总之docker就是集装箱原理。

    为什么要使用docker?

    作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。首先,Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。其次,Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个Docker 容器。
    容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。
    传统虚拟机方式运行10 个不同的应用就要起10 个虚拟机,而Docker 只需要启动10 个隔离的应用即可。具体说来,Docker 在如下几个方面具有较大的优势。

  • 更快速的交付和部署
    对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。Docker 可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。Docker 容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间.

  • 更轻松的迁移和扩展
    Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器
    等。这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。

  • 更简单的管理
    使用Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。对比虚拟机

docker的局限性

  1. Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用
  2. LXC是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的
  3. 隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库
  4. 网络管理相对简单,主要是基于namespace隔离
  5. cgroup的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)
  6. Docker对disk的管理比较有限
  7. container随着用户进程的停止而销毁,container中的log等用户数据不便收集

CentOS上Docker的安装卸载及Docker简介相关推荐

  1. centos 7.9 yum 安装最新版docker与dnf安装docker compose v2

    centos 7.9 yum 安装最新版docker与dnf安装docker compose v2 一.环境查看 1.系统内核 #uname -r 2.系统版本 #cat /etc/redhat-re ...

  2. centos安装llvm_Linux CentOS上编译并安装Clang教程

    如何在Linux CentOS上编译并安装Clang?下面小编为大家具体的介绍一下,解决你在安装Clang遇到的一系列问题. 一.Minimal版CentOS安装Clang前的环境准备 1,安装gcc ...

  3. docker centos7 安装mysql_centos7通过docker安装mysql

    1. 启动docker systemctl start docker: 2.查看mysql 版本 docker search mysql: 3. 安装最新mysql docker pull mysql ...

  4. centos上tensorflow一键安装脚本

    鉴于tensorflow在centos上安装相当麻烦,特地制作了一个脚本方便以后移植到其它机器上,脚本含有其它python常用包: #! /bin/bash sudo yum install -y g ...

  5. Docker的安装和使用说明——Docker for Windows

    一.Docker安装 1.1官方方法 官方下载页面:http://www.docker.com/products/docker#/windows 官方下载地址:https://download.doc ...

  6. CentOS 上snmp的安装和配置

    CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,现在有一大部分服务器在使用此操作系统:SNMP(简单网络 ...

  7. docker 离线安装_企业级Docker私库Harbor安装详解

    Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,Harbor提供了基于角色的访问控制机制,并通过项目来对镜像进行组织和访问权限的控制 1:安装 Docker-compo ...

  8. php imagemagick安装,在CentOS上为PHP安装Imagick和ImageMagick

    Imagick是PHP的本地扩展,通过调用ImageMagick提供的API来创建和修改图片. 而ImageMagick是一套软件系列,主要用于图片的创建.编辑以及创建bitmap图片,它支持很多格式 ...

  9. 无root 权限 linux安装 rar,centos上如何yum安装rar/unrar及手动安装最新rar

    这篇文章因为年代久远,因为部分源失效,导致不可用,最新的教程见Linux中安装rar [root@hello ~]# yum install unrar centos                 ...

最新文章

  1. R语言使用ggExtra包的ggMarginal函数在散点图的顶部和右侧添加边缘直方图、自定义边缘直方图不同分组的填充色(Coloring Marginal Histograms)
  2. 干货︱机器学习中防止过拟合的处理方法
  3. jmeter---linux安装运行
  4. ABAP 时间月份的F4帮助
  5. [云炬ThinkPython阅读笔记]3.4 增加新函数
  6. 转-iOS开发系列--地图与定位
  7. Laravel 5.2问题-----postman进api的post请求,为什么出现Forbidden?
  8. CodeForces - 1203F1 Complete the Projects (easy version)(贪心)
  9. 数据结构:在下述几种树中,()可以表示静态查找表?
  10. linux c之动态打开链接库(dlopen dlsym dlclose)
  11. Multiprocessing Manager
  12. 云服务器升级系统,centos云服务器系统升级
  13. IDEA使用Tomcat部署项目
  14. Java 同环比计算相关逻辑
  15. windows日志文件查看与清理
  16. 2018秋招阿里巴巴java笔试试题
  17. java ppt 转pdf_Java 将PPT转为PNG/PDF/SVG/PPTX
  18. 华为nova8pro和荣耀60pro哪个好
  19. 【2019-2020春学期】数据库 教学 期末总结
  20. pfx证书转pem、crt、key

热门文章

  1. MM的时尚笔记本(图)
  2. Ubuntu18安装deepin-wine微信、QQ
  3. 我的世界java无响应_我的世界无法启动、崩溃问题解决办法
  4. 购置税用计算机怎么算,2019车辆购置税新政策(计算器+如何计算+计算公式)
  5. 如何利用github搭建一个个人网站
  6. LeaFlet迁徙图的制作
  7. 【趣图解读】彪悍的程序员不需要解释
  8. matlab图像处理学习笔记(1):matlab中double、im2double、mat2gray区别
  9. 花了 3000 美元,我在 SaaStr 大会学到了什么?——码农驱动的 SaaS 增长之路
  10. flash player在 unbuntu linux 下,百度MP3音乐盒歌词显示乱码