Docker是在Linux容器里运行应用的开源工具,是一种轻量级的虚拟机。Docker的logo设计为蓝色鲸鱼,拖着许多集装箱。
鲸鱼能够看做为宿主机,而集装箱能够理解为相互隔离的容器,每一个集装箱中都包含本身的应用程序。经过对应用组件的
封装、发布、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,处处运行”的目的。这里的组件,既能够是
一个应用,也能够是一套服务,甚至是一个完整的操做系统。docker
Docker的镜像是建立容器的基础,相似虚拟机的快照,能够理解为是一个面向Docker容器引擎的只读模板。Docker提供了
简单的机制来建立和更新现有的镜像,用于也能够在网上下载已经作好的应用来直接使用。shell
Docker的容器是从镜像建立的运行实例,它能够被启动、中止和删除。所建立的每个容器都是相互隔离、互不相见的,
能够保证平台的安全性。还能够把容器看做是一个简易版的Linux环境,Docker利用容器来运行和隔离应用。vim
Docker仓库是用来集中保存镜像的地方,当建立了本身的镜像以后,可使用push命令将它上传到公共仓库(public)
或者私有仓库(private),这样一来当下次要在另外一台机器上使用这个镜像的时候,只须要从仓库pull下来就能够了。centos
Docker支持在主流的操做系统平台上使用,包括Windows系统、Linux系统、以及MacOS系统等。目前最新的Redhat、CentOS
以及Ubuntu系统官当软件源中都已经默认自带了Docker包,可直接安装使用,也能够用Docker本身的YUM源进行配置。安全
cd /etc/yum.repos.d/ vim docker.repo [docker] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg
yum install docker-engine -y
systemctl start docker.service //启动服务 systemctl enable docker.service //实现开机自动启
docker version
Docker运行容器前须要本地存在对应的镜像,若是不存在本地镜像Docker就会尝试从默认镜像仓库http://hub.docker.com
下载,在使用下载镜像前,可使用docker search命令,搜索远端官方仓库中的共享镜像。bash
docker search cobbler
搜索到符合需求的镜像,可使用docker pull命令从网络下载镜像到本地使用网络
命令格式:docker pull 仓库名称:[标签]架构
docker pull jasonlix/docker-cobbler
命令语法:docker images 仓库名称:[标签]ide
docker images
REPOSITORY ---镜像属于的仓库 TAG ---镜像的标签信息,标记同一个仓库中不一样镜像 IMAGE ID ---镜像的惟一ID号,惟一标识了该镜像 CREATED ---镜像建立时间 SIZE ---镜像大小
docker inspect 2211e1f06c4e
命令格式:docker tag 镜像名称:[标签] 新名称:[新标签]工具
docker tag jasonlix/docker-cobbler cobbler
docker rmi cobbler
命令格式:docker save -o 存储文件名 存储的镜像
docker save -o cobbler jasonlix/docker-cobbler
命令格式:docker load < 存出的镜像文件
docker load < cobbler
命令格式:docker create [选项] 镜像 运行的程序
-i:让容器的输入保持打开 -t:让Docker分配一个伪终端
docker create -it jasonlix/docker-cobbler /bin/bash //产生一串序列号
docker ps -a //查看容器中全部进程
docker start a2c2df6c8246 //启动容器
docker run jasonlix/docker-cobbler /usr/bin/bash -c ls / //查看镜像根目录
docker run -d jasonlix/docker-cobbler /usr/bin/bash -c "while true;do echo htllo;done" //一直保持在启动 docker ps -a //你要进入的序列号的状态Up About a minute 或者Up 1 second docker exec -it 1c0b830793a7 /bin/bash //进入到容器中shell环境中前提是保持开启状态 exit退出
docker stop a2c2df6c8246
docker rm a2c2df6c8246
在docker中能够经过--cpu-quota选项来限制cpu使用率,cpu的百分比是以1000为单位的
docker run --cpu-quota 20000 centos(容器名) //cpu的使用率限定为20%
docker run --cpu-shares 1024 容器A docker run --cpu-shares 1024 容器B docker run --cpu-shares 2048 容器C
docker run --cpuset-cpus 0,1,2,3 容器名
docker run -m 512m 容器名 //限制容器的内存为512m
docker run --device-write-bps /dev/sda1:1mb 容器名 //限制容器的/dev/sda1的写入ipos为1MB