Docker简介 Docker组成: 1. Docker 服务器守护程序(server daemon),用于管理所有的容器。 2. Docker 命令行客户端,用于控制服务器守护程序。 特性: 文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。 资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup。 网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址。 日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。 变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。 交互式shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次***互shell。 安装: epel源,CentOS6 .5或以上版本,内核2.6.32-431或以上版
一、docker安装
安装环境:虚拟机+Centos6.5
在安装好centos6.5以后,可以使用这个脚本来使用国内的阿里云镜像源
1.1 取消selinux,因为它会干扰lxc的正常功能 1
2
3
| sudo vim /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
|
1.2 安装 Fedora EPEL
1.3 添加 hop5 repo地址
1.4 安装docker
1.5下载官方制作的CentOS6.4镜像
1.6 查看已经安装好的虚拟机
1.7 测试执行一个top命令
1
2
| ID=$( docker run -d centos /usr/bin/top -b)
docker attach $ID
|
1.8 kill掉虚拟机
1
2
| docker ps -a
docker stop $ID
|
1.9 进入虚拟机终端
1
| docker run -i -t centos /bin/bash
|
1.10 docker也提供了在线搜索镜像模板功能,类似与puppet在线安装模板
1
2
3
| docker search ubuntu
docker search centos
docker search debian
|
1.11 docker保存方式 有两种保存docker的container的方式 一是通过commit和push,将对centos这个image的修改提交,在本地的repository中形成一个新的镜像,然后可以将这个镜像提交到Docker的官方Index库中,以后如果要使用这个镜像的话,直接从官方的index下载即可。 二是通过save方法在本地保存一个tar压缩文件,这个.tar文件可以拷贝到其它装有Docker的机器,然后通过导入import,来恢复这个container。 第一种方式 第一步:commit 1
| docker commit -author="your name <your email>" -m="your message" <Container ID> imagename:tag
|
Container ID就是刚才操作的那个container ID,另外imagename必须全部是小写,数字,下划线以及”.“的集合,不能大写或其实符号。tag就是这个image的标志,方便自己以后对这个image的改动做一个认知。 第二步:push 1
| docker push imagename:tag
|
在pull之前Docker会要求你登录Docker的网站,所以在pull之前,你必须先到Docker注册你的用户名,然后就可以把你本地的image上传到官方的Index上面去了。 第二种方式 第一步:save 1
| docker save container:tag > yourname.tar
|
第二步:import
1
| docker import < yourname.tar
|
|