docker
基本概念
--------------------------------------------------------------------------------
Docker概述
Docker 是基于Go语言的开源的应用容器引擎。
开发者将应用和依赖包到一个容器中,然后发布到 Linux 机器上,由docker进行管理。
由于docker使用完全沙箱,容器与容器之间不会有任何接口(类似 iPhone 的 app)
容器性能开销极低。
--------------------------------------------------------------------------------
应用场景
Web 应用的自动化打包和发布。
自动化测试和持续集成、发布。
在服务型环境中部署和调整数据库或其他的后台应用。
从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
--------------------------------------------------------------------------------
Docker优势
1、简化程序部署。
Docker 让开发者将应用以及所需依赖包打包并快速部署,自己的成果由Docker管理。方便快捷且极大缩短部署时间。
2、避免选择恐惧症:
由于Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像直接拿来部署。
3、节省开支:
开发者不必为了追求效果配置高额的硬件。Docker 与云的结合,让云空间利用更充分。改变了硬件管理的问题,也改变了虚拟化的方式。
前提
CentOS版本支持情况
CentOS 7 (64-bit) (系统为64位、系统内核版本为 3.10 以上)
CentOS 6.5 (64-bit) 或更高的版本 (系统为64位、系统内核版本为 2.6.32-431 或者更高版本)
查看linux系统内核
uname -r
docker分两个版本
Docker CE 即社区免费版
Docker EE 即企业版,强调安全,但需付费使用。
移除旧版本
sudo yum remove docker \
安装docker需要的系统组件
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加阿里的docker软件源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 缓存
sudo yum makecache fast
安装docker CE
sudo yum -y install docker-ce
启动docker服务
sudo systemctl start docker
sudo systemctl enable docker
测试运行docker hello-world。docker程序正常,然里面没有docker镜像。
docker run hello-world
关于镜像加速
国内网络差,需要配置加速器拉取 Docker 镜像。新版docker需要建json文件做加速。这里用网易的镜像地址:http://hub-mirror.c.163.com。
将以下代码加入到daemon.json文件。(若没有该文件需要新建)
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
Linux: /etc/docker/daemon.json
Windows:%programdata%\docker\config\daemon.json