Docker是目前正在大热的容器技术,相比虚拟机Docker直接与Host交互,排除了虚机层,效率更高,占用的Host资源也更少,所以受到越来越多的欢迎。
Docker理论基础
另外Docker的出现也激发了软件开发流程的变革,特别是在打包、发布阶段。Docker结合Jekins,可以在测试环境完成测试工作后,不必重新拉去代码、编译、打包,而是可以直接推送Docker镜像到生产环境中,提升了效率。这在DeveOps方式中具有更大的效率体现。
本文介绍Docker的一些基础知识,主要是是针对开发同学,不涉及运维角度的容器管理等内容。
**
1. Docker基础概念
**
Docker有几个核心概念,清楚之后就对Docker系统比较好理解了
- Docker Daemon
Docker引擎,Docker运行在后台的一个守护进程,负责解析前端用户命令,管理和维护docker image和container。在我们启动它之后,我们就可以通过Docker客户端发送相关Docker的命令。
Docker Images
Docker Image,Docker的打包文件,可以理解成具体应用虚机的镜像文件,这里的镜像我们通常会发布到Docker Registry,方便下载。
Docker Containers
Docker容器,在获取到Docker镜像之后,我们可以运行该镜像,此时便会启动一个Docker容器,该容器中运行镜像中的程序。如果把Docker镜像理解为一个类的话,那么Docker容器就是一个实例
Docker Client
Docker客户端,我们安装完Docker之后,我们打开终端使用docker 相关命令进行操作,这些命令便是Docker客户端的命令,另外还有一个基于REST API的Docker客户端,REST API一般用于在开发一些基于Docker运维的系统中使用。
Docker Registry
Docker镜像注册中心,Docker的官网的注册中心为http://hub.docker.com,(慢的有点蛋疼 :( )。企业内部可以自己搭建自己的注册中心。
环境 准备
VirtualBox:安装Virtualbox
CentoOS:
在virtualBox中安装CentOS7,采用最小安装模式,这样系统比较干净,下面给出一个镜像:CentOS7安装Centos7之前需要将机器的BIOS 虚拟化功能打开,否则在VirtualBox是安装不了64位的CentoOS7的。
最小化安装的CentOS7中基本的工具如ifconfig都没有,所以需要安装常用的网络工具,采用如下命令:
[Centos7]# yum install net-tools默认CentOS是开启防火墙的,在CentOS7中相关服务器用systemctl来管理,如下命令:
[Centos7]# systemctl stop firewalld –关闭防火墙
[Centos7]# systemctl disable firewalld –关闭开机启动
安装Docker:
安装完成后,查看版本: