1、前言
进入云计算的时代,各大云提供商AWS,阿里云纷纷推出针对Docker的服务,现在Docker是十分火爆,那么Docker到底是什麽,让我们来体验一下。
2、Docker是什麽
Docker是一个开源的应用容器引擎,可以把应用以及依赖包放到一个可移植的容器中,然后发布到任何流行的 Linux 系统上,通过这种方式实现虚拟化。
提到虚拟化,大家应该十分熟悉了,有VMware,Xen,KVM等等很多。那么,Docker和VM有什么不同呢,我们用官网的一张图来说明一下。
可以看出,Docker和VM比较,用Docker引擎替代了Hyper-v,没有Gest OS,应用是放到容器里,直接运行在宿主机的OS上。
这样做的好处是,各容器间虽然隔离,但共享系统资源和公用库,剥离了Gest OS这层,系统资源利用率更高。
另外,因为Docker容器的灵活性,在程序的 开发 → 测试 → 发布,整个流程能保证环境的一致性,并大大减少工作量和时间。这也是Docker十分火爆的主要原因。
说到这里,大家可能已经等不及了吧,下面一起来使用一下Docker。
3、使用Docker
官方的Docker Hub上有一些共有的镜像,可以直接拿来放到容器里使用,也可以自己创建镜像,保存后供容器使用。今天使用公用的镜像创建一个nginx的容器。
3.1 安装Docker
Docker的安装十分简单,用yum或apt-get可以直接安装。
# yum install -y docker
3.2 启动Docker
# service docker start
3.3 查看信息
# docker info
安装到此结束,接下来创建一个nginx的容器。
3.4 查找镜像
在Docker Hub上查找nginx的镜像。
# docker search nginx
3.5 抓取镜像
我们下载的是官方的nginx镜像。
# docker pull nginx
3.6 查看镜像
# docker images
3.7 定镜像创建容器并启动
指定刚才获取的nginx镜像。
# docker run -d -p 80:80 --name cn1 nginx
解释一下各参数:
-d 放在后台执行
-p 主机端口:容器端口 将容器的端口映射到主机上,目的是可以直接对外提供访问
--name 指定容器名
3.8 查看容器
# docker ps
在浏览器访问服务器的IP,可以打开nginx的默认页面
到此,一个nginx容器已经创建成功。下面介绍一下其他一些命令。
3.9 结束容器
# docker kill cn1
3.10 查看所有容器
# docker ps -a
3.11 启动容器
# docker start cn1
3.12 删除容器
# docker rm sad_heisenberg
4、后记
本文只是对Docker一个简单的介绍,其他的用法,以后会陆续介绍,请持续关注本博客。