标签:bytes ffd ops 输入 grep arc water 就是 打开
一、Docker核心概念Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为是一个面向Docker容器引擎的只读模板,比如一个镜像可以是一个完整的centos操作系统,也可以是一个安装了MySQL的应用程序,称之为一个镜像。
镜像文件用户可以自己创建和更新现有镜像,也可以从网上下载已经做好的应用镜像直接使用。
容器是镜像的另一个运行实例,是独立运行的一个或一组应用以及他们所必须的运行环境,包括文件系统、系统库类、shell环境等。镜像是只读模板,而容器会给这个只读模板一个额外的可写层。
仓库是用来集中存放镜像的地方,当自己创建了镜像后,可以使用push命令将它上传到公共仓库(Public)或者私有仓库(Private),这样,当其他机器想要使用时,直接下载下来即可使用。
docker search httpd
对于docker来说,如果下载镜像时不指定标签,则默认会下载仓库中最新版,因此也可通过制定标签来下载指定版本,这里的标签(tag)就是用来区分镜像版本的。
docker pull httpd
整个下载过程可以看出,镜像文件由若干层(Layer)组成,我们称之为AUFS(文件联合系统),是实现增量保存与更新的基础,下载过程中会输出镜像的各层信息
docker images
REPOSITORY ---镜像属于的仓库
TAG ---镜像的标签信息,标记同一个仓库中不同镜像
IMAGE ID ---镜像的唯一ID号,唯一标识了该镜像
CREATED ---镜像创建时间
SIZE ---镜像大小
docker inspect 11426a19f1a2
<br/>命令格式:docker tag 镜像名称:[标签] 新名称:[新标签]<br/>
docker tag httpd apache:apache1
方法二:docker rmi 镜像ID号
<br/>命令格式:docker save -o 存储文件名 存储的镜像<br/>
docker save -o apache2 httpd
命令格式:docker load < 存出的镜像文件
或者:
docker --input 存出的镜像文件
本地存储的镜像文件越来越多,就要一个专门的地方存放这些镜像---仓库。目前比较方便的就是公共仓库,默认上传的是Docker hub官方仓库,需要注册账号完成登录后才能上传。
docker tag httpd apache:test
docker login
Username: madeb //此账号需自己注册
Password:
Login Succeeded
docker push apache:test
docker logout
<br/>命令格式:docker create [选项] 镜像 运行的程序<br/>
-i 让容器的输入保持打开
-t 让Docker分配一个伪终端
docker create -it httpd /bin/bash
docker ps -a
docker start e1e05c66ec9c //开启容器
docker ps -a
docker run httpd /usr/bin/bash -c ls /
docker run -d httpd /usr/bin/bash -c ls / "while true; do echo hello;done"
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e1e05c66ec9c httpd "/bin/bash" 26 minutes ago Up 25 minutes 80/tcp friendly_euclid
docker stop e1e05c66ec9c
命令格式:docker exec -it e1e05c66ec9c /bin/bash
-i 表示让容器的输入保持打开
-t 表示让docker分配一个伪终端
docker exec -it e1e05c66ec9c /bin/bash
<br/>命令格式:docker export 容器ID/名称 > 文件名<br/>
docker export e1e05c66ec9c > apache1
<br/>命令格式:cat 文件名 | docker import - 生成的镜像名称:标签<br/>
cat apache1 | docker import - apache1 注:此处必须先使用cat,不然无法导入
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
apache1 latest 2bfb89eb2c5d 49 seconds ago 174MB
apache apache1 11426a19f1a2 8 days ago 178MB
httpd latest 11426a19f1a2 8 days ago 178M
<br/>命令格式:docker rm 容器ID/名称<br/>
docker rm e1e05c66ec9c
docker ps -a | grep e1e05c66ec9c
docker默认的存储目录在本地/var/lib/docker/,docker的镜像、容器、日志等内容全部都存储在这里,也可单独使用大容量分区来存储这些内容,并且一般选择LVM逻辑卷,从而避免出现docker运行过程中存储目录容量不足的问题。
docker run --cpu-quota 20000 e1e05c66ec9c //cpu的使用率限定为20%
echo 20000 > /sys/fs/cgroup/cpu/docker/e1e05c66ec9ced2d6290ebe8e3fdea27f439dcbeea70921ec5d9e5b0bcffaf11/cpu.cfs_quota_us
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
标签:bytes ffd ops 输入 grep arc water 就是 打开
原文地址:http://blog.51cto.com/13659253/2156975