------------恢复内容开始------------
Docker(一)Docker入门教程
如今Docker的使用已经非常普遍,特别在一线互联网公司。使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力。在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如今在微服务架构越来越流行的情况下,微服务+Docker的完美组合,更加方便微服务架构运维部署落地。
本文详细解释介绍Docker入门相关内容,后期重点关注Docker在微服务体系中的使用。在了解Docker之前我们先考虑几个问题:1、Docker是什么?2、为什么要使用Docker,它有什么优势?带着这些问题我们来看看下面的内容。
什么是Docker?
Docker 是世界领先的软件容器平台。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用 Docker 可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用 Docker 可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为 Linux 和 Windows Server 应用发布新功能。
Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。
总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 开放容器联盟(OCI)。
Docker 自开源后受到广泛的关注和讨论,至今其 GitHub 项目已经超过 4 万 6 千个星标和一万多个 fork。甚至由于 Docker 项目的火爆,在 2013 年底,dotCloud 公司决定改名为 Docker。Docker 最初是在 Ubuntu 12.04 上开发实现的;Red Hat 则从 RHEL 6.5 开始对 Docker 进行支持;Google 也在其 PaaS 产品中广泛应用 Docker。
为什么使用Docker
容器除了运行其中的应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行10个不同的应用就要运行10个虚拟机,而Docker只需要启动10个隔离的应用即可。
具体来说,Docker在如下几个方面具有较大的优势。
1.更快速的交付与部署
对开发和运维人员来说,最希望的就是一次性创建或配置,可以在任意地方正常运行。
开发可以使用镜像快速构建一套标准的开发环境:开发完成后,测试和运维人员可以直接使用完全相同的环境来部署代码。只要是开发测试过的代码,就可以确保在生产环境中无缝运行。Docker可以快速创建和删除容器。实现快速迭代,节约开发、测试、部署的时间
2.更高效的虚拟化
Docker容器的运行不需要额外的虚拟化管理程序的支持,Docker是内核级的虚拟化,可以实现更高的性能,同时对资源的额外需求都很低。与传统的虚拟机相比,Docker的性能要提高1~2个数量级
3.更轻松的迁移和扩展
Docker的容器几乎可以在任何平台上运行,包括虚拟机、物理机、公有云、私有云、个人电脑、服务器等。这种兼容性可以让用户在不同平台之间轻松地迁移。
4.更简单的更新管理
使用Dockerfile,只需要小小的配置修改,就可以代替以大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动胡并且高效的管理。
Docker vs 虚拟机
作为一种轻量级的虚拟化方式,Docker在运行应用上跟传统的虚拟机方式相比具有显著优势:
- Docker容器很快,启动和停止可以在秒级实现,这相比传统的虚拟机方式要快得多。
- Docker容器对系统资源需求很少,一台主机上可以同时运行数千个Docker容器。
- Docker通过类似Git的操作来方便用户获取、分发和更新应用镜像,指令简明,学习成本较低。
- Docker通过Dockerfile配置文件来支持灵活的自动化创建和部署机制,提高工作效率。
Docker与虚拟化
Docker和常见的虚拟机方式的不同之处

Docker核心概念
1.Docker image(镜像):Docker镜像类似与虚拟机镜像,可以将它理解成一个只读的模板。镜像中包含有需要运行的文件.镜像用来创建容器(container)
一个镜像可以运行多个容器(container);镜像可以通过Dockerfile创建,也可以Docker hub/registy上下载。
2.Docker container(容器):容器是Docker的运行组件,启动一个镜像就行一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序预想在一个相对安全的环境中。
3.Docker hub/registry(仓库):共享个管理Docker镜像,用户也可以上传或者下载上面的镜像,官方的地址为https://registry.hub.docker.com/,也可自己搭建私有的仓库。
镜像就相当与打包好的版本,镜像启动之后运行在容器中,仓库就是存储镜像的地方
Docker安装
1.docker所依赖的环境
# yum install -y yum-utils device-mapper-persistent-data lvm2
2.设置stable镜像仓库
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3.安装阿里源加速
# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
配置加速器
https://7fn2cqoi.mirror.aliyuncs.com
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://7fn2cqoi.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
4.更新yum软件包的索引
yum makecache fast
5.选择安装版本
yum list docker-ce.x86_64 --showduplicates | sort -r
6.安装docker
yum -y install docker-ce-18.03.0.ce-1.el7.centos
------------恢复内容结束------------
浙公网安备 33010602011771号