一、Docker是什么:

一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验
Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案。
环境配置如此麻烦,换一台机器,就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。
 
 
之前在服务器配置一个应用的运行环境,要安装各种软件,就拿电商项目的环境来说吧,Java/Tomcat/MySQL/JDBC驱动包等。安装和配置这些东西有多麻烦就不说了,它还不能跨平台。假如我们是在 Windows 上安装的这些环境,到了 Linux 又得重新装。况且就算不跨操作系统,换另一台同样操作系统的服务器,要移植应用也是非常麻烦的。
 
传统上认为,软件编码开发/测试结束后,所产出的成果即是程序或是能够编译执行的二进制字节码等(java为例)。而为了让这些程序可以顺利执行,开发团队也得准备完整的部署文件,让维运团队得以部署应用程式,开发需要清楚的告诉运维部署团队,用的全部配置文件+所有软件环境。不过,即便如此,仍然常常发生部署失败的状况。Docker镜像的设计,使得Docker得以打破过去「程序即应用」的观念。透过镜像(images)将作业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运作。

Docker是基于Go语言实现的云开源项目。
Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行”。

Linux 容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。将应用运行在 Docker 容器上面,而 Docker 容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作

一句话:解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。

以前的虚拟机技术:

虚拟机(virtual machine)就是带环境安装的一种解决方案。
它可以在一种操作系统里面运行另一种操作系统,比如在Windows 系统里面运行Linux 系统。应用程序对此毫无感知,因为虚拟机看上去跟真实系统一模一样,而对于底层系统来说,虚拟机就是一个普通文件,不需要了就删掉,对其他部分毫无影响。这类虚拟机完美的运行了另一套系统,能够使应用程序,操作系统和硬件三者之间的逻辑不变。

虚拟机的缺点:
1    资源占用多               2    冗余步骤多                 3    启动慢

容器虚拟化技术:

由于前面虚拟机存在这些缺点,Linux 发展出了另一种虚拟化技术:Linux 容器(Linux Containers,缩写为 LXC)。
Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离。有了容器,就可以将软件运行所需的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置。系统因此而变得高效轻量并保证部署在任何环境中的软件都能始终如一地运行。
 
比较了 Docker 和传统虚拟化方式的不同之处:
*传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;
*而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
* 每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。

一次构建、随处运行
    1更快速的应用交付和部署:          
           传统的应用开发完成后,需要提供一堆安装程序和配置说明文档,安装部署后需根据配置文档进行繁杂的配置才能正常运行。Docker化之后只需要交付少量容器镜像文件,在正式生产环境加载镜像并运行即可,应用安装配置在镜像里已经内置好,大大节省部署配置和测试验证时间。
    2 更便捷的升级和扩缩容

随着微服务架构和Docker的发展,大量的应用会通过微服务方式架构,应用的开发构建将变成搭乐高积木一样,每个Docker容器将变成一块“积木”,应用的升级将变得非常容易。当现有的容器不足以支撑业务处理时,可通过镜像运行新的容器进行快速扩容,使应用系统的扩容从原先的天级变成分钟级甚至秒级。
   3 更简单的系统运维

应用容器化运行后,生产环境运行的应用可与开发、测试环境的应用高度一致,容器会将应用程序相关的环境和状态完全封装起来,不会因为底层基础架构和操作系统的不一致性给应用带来影响,产生新的BUG。当出现程序异常时,也可以通过测试环境的相同容器进行快速定位和修复。
   4 更高效的计算资源利用

Docker是内核级虚拟化,其不像传统的虚拟化技术一样需要额外的Hypervisor支持,所以在一台物理机上可以运行很多个容器实例,可大大提升物理服务器的CPU和内存的利用率。

二、安装Docker

官方中文安装手册

https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/#prerequisites

1 确定CentOS7的版本:cat /etc/redhat-release

2 安装gcc相关:

yum -y install gcc

yum -y install gcc-c++

3 卸载旧版本CentOS:

sudo yum remove docker   docker-client  docker-client-latest   docker-common    docker-latest  docker-latest-logrotate     docker-logrotate  docker-engine

4 安装需要的软件包:

yum install -y yum-utils device-mapper-persistent-data lvm2

5 设置stable镜像仓库

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

6 更新yum软件包索引

yum makecache fast

7 安装docker-ce

yum -y install docker-ce

8 启动docker

systemctl start docker

9 检测

docker version   或者docker run hello-world

10 配置镜像加速
    mkdir -p /etc/docker
    vim  /etc/docker/daemon.json

配置内容:

#网易云
#{"registry-mirrors": ["http://hub-mirror.c.163.com"] }

#阿里云
{
  "registry-mirrors": ["个人私有的阿里云镜像加速"]
}

配置完后再执行下面的启动

systemctl daemon-reload
    systemctl restart docker

其中配置的中国镜像加速我这里用的阿里云的,但是重启docker失败,然后将配置文件后缀改为conf

mv /etc/docker/daemon.json  /etc/docker/daemon.conf
然后启动成功

--另外一种方法: 新安装试了很快,不用阿里云的那种配置,不添加daemo.json,也不用改名字Docker 镜像仓库加速配置
cp /lib/systemd/system/docker.service /etc/systemd/system/docker.service
给权限chmod a+x /etc/systemd/system/docker.service
打开管理脚本vim /etc/systemd/system/docker.service
在 ExecStart=/usr/bin/dockerd 后加上下面这句--registry-mirror=https://kfp63jaj.mirror.aliyuncs.com
其中https://kfp63jaj.mirror.aliyuncs.com,这个地址大家可以去阿里云Docker官网获取。也可以使用上面的地址,因为是免费的嘛。

Docker:docker简介及CentOS7安装Docker,以及配置镜像加速问题解决相关推荐

  1. DaoCloud docker加速器地址获取以及mac系统如何配置镜像加速

    一.注册账号,可以使用github账号关联登录 二.注册之后进入个人中心,这个加速器的图标真的是不好找.. 点击这个火箭的图标,然后进入到一个界面: 往下翻: 就可以看见这个URL了.可以根据不同的操 ...

  2. CentOS7安装Docker详细教程

    CentOS7安装Docker 文章目录 CentOS7安装Docker Docker简介 Docker架构 Docker安装流程 查看Docker 参考文章 Docker简介 Docker 是一个开 ...

  3. linux设置docker自动启动,CentOS7安装Docker配置服务端和容器自启动

    接上一篇,在VirtualBox上安装配置好了CentOS7,继续在这个虚拟机上装好docker并总结一下使用到的常用功能. 安装Docker 安装直接参考官网来安装就OK,没有遇到什么问题,值得注意 ...

  4. centos7 docker删除端口映射_centos7安装docker,结合docker安装mysql,学习简单使用

    需要快速安装centos7的可以结合上一遍文章vagrant结合virtualbox让你直接在cmd窗口操作linux系统centos7 地址:https://www.toutiao.com/i685 ...

  5. Centos7 安装Docker(v2021 version 20.10.5) 并通过docker-compose运行TiDB集群

    Centos7 安装Docker(v2021 version 20.10.5) 卸载docker旧版 注意:新系统不用卸载 yum remove docker \docker-client \dock ...

  6. centos7安装docker 以及简单使用

    一.系统要求 1.安装Docker CE,需要一个维护版本的Centos7 2.centos-extras库必须启用,这个存储库默认启用,但是如果您禁用了它,您需要重新启用它(AdditionalRe ...

  7. centos7安装docker并配置镜像加速

    Centos7安装docker 并配置镜像加速 1.如果系统上之前有安装过docker 那么就需要先执行下面的命令 删除旧版本docker sudo yum remove docker \docker ...

  8. CentOS7安装Docker和配置Docker Compose

    文章目录 一.前提条件和注意事项 二.删除旧版本的 Docker(可选) 三.安装 Docker 第1步:安装必要的一些系统工具 第2步:添加软件源信息 第3步:编辑文件 第4步:将软件包信息提前在本 ...

  9. centos7安装docker和应用

    centos7 docker安装 卸载旧版本 安装docker 启动docker 配置阿里云镜像加速 运行hello-world 查看版本 显示本地镜像 删除本地镜像 拉取镜像 新建并启动容器 添加容 ...

最新文章

  1. 计算机应用培训资料,计算机应用培训资料.doc
  2. 北京超级云计算GPU服务器的使用教程
  3. 输出nginx执行过程中函数调用关系
  4. 2.3.NLTK工具包安装、分词、Text对象、停用词、过滤掉停用词、词性标注、分块、命名实体识别、数据清洗实例、参考文章
  5. 51CTO博客移动化意味着什么?IT博主可以搞事情了!
  6. win11无法下载steam怎么办 Windows11无法下载steam的解决教程
  7. linux系统awk、sed,Linux系统 linux awk sed
  8. Echarts 3使用
  9. 傻傻弄不清楚SAP和ERP?
  10. LVDS通信协议以及概念
  11. 虚拟机连接摄像头程序报错
  12. apache Fop 2.1 支持中文
  13. 读《Ivor Horton's beginning Visual C++ 2010》有感
  14. 那些年我们用过的显示器接口
  15. css——background、border、margin、float、content、blur(图片模糊)、user-select:none(禁用用户选择复制),border-image
  16. 使用windows命令行 启动WeGame
  17. 3. JS编程之移除数组中的元素
  18. 报错(root) Additional property redis is not allowed
  19. 智能照明-----开关第二讲----随意贴
  20. wps2016 对于doc文档 不识别<![CDATA[]]>bug

热门文章

  1. Python 3.4 抓图
  2. 关于电源计划无法开启卓越模式/高性能模式,注册表无法找到CSEnabled的解决方法
  3. 错误:Implicit super constructor Father() is undefined. Must explicitly invoke another constructor
  4. javafx扇形图、柱状图、折线图的使用
  5. android imessage.apk,AirMessage让Android也能收发iMessage,不用买iPhone也可传免费简讯
  6. 上下山平均速度,平均速率问题求解程序
  7. uniapp打包h5 - 相对路径配置
  8. mapState(辅助函数)
  9. Dubbo系列之自适应(Adaptive)拓展点
  10. 配音这么火爆,声音不好听怎么配音