一、Docker 概述
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
二、Docker 的优点
2.1、简化程序:
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。
2.2、避免选择恐惧症:
如果你有选择恐惧症,还是资深患者。Docker 帮你 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。
2.3、节省开支:
一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。
三、我们为什么要用Docker
- 更快速的交付和部署(使用docker,开发人员可以用镜像来快速构建一套标准的开发环境;开发完成之后,测试和运维人员可以直接使用相同环境来部署代码)
- 更轻松的迁移和扩展(docker容器几乎可以在任意平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。可以在不同的平台轻松地迁移应用)
- 更简单的更新管理(使用Dockerfile,只需要修改小小的配置,就可以替代以往大量的更新工作)
四、Docker“组件间”
- Client(Docker客户端):是Docker的用户界面,可以接受用户命令(docker build,docker pull...)和配置标识,并与Docker daemon通信
- Images(Docker镜像):是一个只读模板,含创建Docker容器的说明,它与操作系统的安装光盘有点像
- Containers(容器):镜像的运行实例,镜像与容器的关系类比面向对象中的类和对象
- Registry:是一个集中存储与分发镜像的服务。最常用的Docker Registry是官方的Docker Hub
五、Linux 下安装docker
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。CentOS7系统下安装Docker为例。Docker 软件包和依赖包已经包含在默认的 CentOS-Extras 软件源里,安装命令如下:
yum -y install docker
启动 Docker 后台服务:
service docker start
查看Docker 版本:
docker version
六、Docker 加速器
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是阿里的加速器。
- 你只需要登录容器Hub服务的控制台,左侧的加速器帮助页面就会显示为你独立分配的加速地址 如:https://xxxxx.mirror.aliyuncs.com
-
配置镜像加速器,针对Docker客户端版本大于 1.10.0 的用户,您可以通过修改daemon配置文件
/etc/docker/daemon.json
来使用加速器:
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-‘EOF‘ { "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
原文地址:https://www.cnblogs.com/wuwei928/p/9055323.html