本文共 2826 字,大约阅读时间需要 9 分钟。
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
- 1.镜像(Image):类似与虚拟机的镜像,可以将他理解为一个面向Docker引擎的只读模板,包含了文件系统。
- 2.容器(Container):类似于一个轻量级的沙箱子(因为Docker是基于Linux内核的虚拟技术,所以消耗资源十分少),Docker利用容器来运行和隔离应用。
- 3.仓库(Repository)类似与代码仓库,是Docker集中存放镜像文件的场所。
- 1.简化部署配置 极大提高工作效率。
- 2.轻量级 可移植。
- 3.启动和停止可以在秒级实现。
- 4.节省硬件资源。
- 5.直接在在操作系统层面上实现的虚拟化。
配置仓库
# vim /etc/yum.repos.d/ghostcloud.repo[dockerrepo]name=Docker Repositorybaseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/enabled=1gpgcheck=1gpgkey=https://yum.dockerproject.org/gpg
安装Docker
# yum install docker-engine -y# systemctl start docker //启动docker# systemctl enable docker.service //设置开机自启动# docker version //查看版本# docker info //查看docker基本信息
搜索并获取镜像
# docker search cobbler //搜索关键字cobbler# docker pull jasonlix/docker-cobbler //下载搜索出的结果
查看镜像
# docker images //查看所有镜像 (也可以单独查询 后面跟仓库名称和标签)# docker inspect 2211e1f06c4e //指定ID号查看 详细信息# docker tag jasonlix/docker-cobbler cobbler:cobbler //添加新名称 新标签 (图中第三个)
删除之前确保没有被容器使用,若有容器使用需要先删除容器。
# docker rmi cobbler:cobbler //删除 注:当镜像有多个标签时只是删除标签
存出镜像和载入镜像
# docker save -o cobbler jasonlix/docker-cobbler //将本地镜像存为文件cobbler# docker load < cobbler //载入镜像或者# docker --input cobller //载入镜像
/bin/bash : 表示启动容器时要运行的命令
# docker create -it jasonlix/docker-cobbler /bin/bash //创建容器# docker ps -a //查看所有容器# docker start 28f067a17c53 //开启容器# docker stop 28f067a17c53 //关闭容器
进入之前需先开启运行这个容器
# docker start 28f067a17c53 //开始运行# docker exec -it 28f067a17c53 /bin/bash
容器的导入和导出
将A机器的容器导出# docker export 28f067a17c53 > cobblertar //将容器 导出命名为cobblertar (指定导出容器ID )在B机器上导入# cat cobblertar | docker import -cobbler:test //import导入后 生成镜像名cobbler:标签test
要删除正在运行的容器可以添加 -f 选项强制删除,建议先关闭容器在删除。
# docker rm 28f067a17c53 //删除时指定 ID
后台持续运行容器
# docker run -d jasonlix/docker-cobbler /usr/bin/bash -c "while true;do echo hello;done"
注意:docker run ,等于执行了docker create ,在执行docker start 。就是说:在使用docker run创建容器的时候 如果检查镜像,若没有镜像,会从公共仓库下载,然后在创建容器,运行容器。
#docker run -itd --name c7 --network bridge --ip 192.168.200.132 centos:latest /bin/bash下载资源 名字c7 网卡桥接 本地IP 镜像仓库centos 最新 latest
限制CPU使用速率
# docker run --cpu-quota 20000 centos(容器名) //cpu的使用率限定为20%
按比例分享CPU
# docker run --cpu-shares 1024 centos
使用 --cpuset-cpus 后面跟 0,1,2,3 (0表示第1个内核,1表示第2个内核.......)
# docker run --cpuset-cpus 0,1 centos //容器centos独享 第1和第2个内核
限制内存使用
# docker run -m 512m centos //限制cents容器内存512M
例如:限制容器的/dev/sda1 的写入ipos为1MB
# docker run --device-write-bps /dev/sda1:1mb centos
转载于:https://blog.51cto.com/13630803/2156930