docker架构、镜像及容器

一、docker概述

1.docker是在Linux里运行应用的开源工具,是一种轻量级虚拟机
2.它的设计宗旨是通过对应用组件的封装、发布、部署、运行等生命周期的管理,达到应用组件级别的一次封装,到处运行的目的
3.docker的三大核心概念:镜像、容器、仓库,安装docker以及围绕镜像和容器的具体操作

1)镜像:docker的镜像是创建容器的基础,可以理解为一个面向docker容器引擎的只读模板
2)容器:docker的容器是从镜像创建的运行实例,他可以被启动、停止和删除。所创建的每个容器都是相互隔离、互不可见的,可以把容器看做是一个精简版的Linux系统
3)仓库:docker仓库是用来集中保存镜像的地方,使用push命令来上传自己创建的镜像到公共仓库,使用pull下载公共仓库的镜像,目前最大的公共仓库是docker hub

三、安装docker

可以在centos6中安装,但可能并不稳定,当前系统:centos7.2

1.配置docker的yum仓库
vim /etc/yum.repos.d/docker.repo
	[docker-repo]
	name=Docker Repository
	baseurl=https://yum.dockerproject.org/repo/main/centos/7/
	enable=1
	gpgcheck=0
	gpgkey=https://yum.dockerproject.org/gpg
2.安装docker

1)安装

yum -y install docker-engine

2)启动设置开机启动

systemctl start docker.service
systemctl enable docker.service

3)安装好的docker有两个程序:docker服务端和docker客户端,服务端是一个服务进程,客户端是服务端的远程控制器,大部分情况下服务端和客户端都运行在同一台机器上

四、docker镜像操作

1.从远端官方仓库搜索镜像
docker search 关键字

在这里插入图片描述

2.获取镜像
docker pull 仓库名 [:标签]

在这里插入图片描述

3.查看本地所有镜像
docker images 

在这里插入图片描述

	#repository:镜像属于的仓库
	#tag:镜像的标签信息,标记同一仓库中的不同镜像
	#image id:镜像的唯一ID号
	#created:镜像创建的时间
	#virtual size:镜像的大小
4.为本地镜像添加新的标签
docker tag 名称 :[标签]  新名称 :[新标签]

在这里插入图片描述

5.删除镜像
docker rmi 仓库名:标签

在这里插入图片描述

6.存储镜像:将镜像保存为本地文件
docker save -o 存储文件名 存储的镜像
docker save -o lamp centos
7.载入镜像:将存储的镜像从A主机拷贝到B主机
docker load < 存储的文件名
 例:docker load < lamp
		或
docker --input 存储的文件
 例:docker --input lamp

五、docker容器操作

1.创建容器
docker create [选项] 镜像 运行的程序
docker create -it daocloud.io/centos /bin/bash
	# -i:让容器的输入保持打开
	# -t:让docker分配一个伪终端
2.查看容器状态
docker ps -a
	#-a:所有容器,包括已启动和未启动的
3.启动容器
docker start 容器的id或名称
4.停止容器
docker stop 容器id或名称
5.进出容器
docker exec -it 容器id或名称 /bin/bash
例:docker exec -it centos3 /bin/bash
6.创建、取名、启动并进入容器
docker run --name 容器名 -it 镜像名 要运行的程序
例:docker run -name test -i -t daocloud.io/centos /bin/bash
7.导出容器
docker export 容器id或名称 > 文件名

在这里插入图片描述

8.导入容器:将导出的文件用docker import命令导入成为镜像
cat 文件名 | docker import - 生成的镜像名称:标签
cat /docker/centos3 | docker import - centos:6
9.删除容器
docker rm 容器名或ID
10.查看容器IP
docker inspect --format '{{ .NetworkSettings.IPAddress }}' 容器名

六、docker资源控制

1.限制CPU使用速率
docker run --cpu-quota 使用率 容器名
#百分比是以1000为单位
例:
docker run --cpu-quota 20000 centos 
#将容器centos的CPU使用率限定为20%
2.多任务按比例分享CPU
docker run --cpu-shares 1024 容器A
docker run --cpu-shares 1024 容器B
docker run --cpu-shares 2048 容器C
#将容器A、B、C的CPU资源比例分配为1:1:2
3.限制CPU内核使用

假如服务器有16个内核,编号分别为0-15,使容器绑定在第1-4个内核使用

docker run --cpuset-cpu 0,1,2,3 容器名
4.对内存使用的限制

一旦容器使用的内存超过了容量,内核就会尝试收回这些内存,如果无法收回,进程就会被杀死

docker run -m 512m centos  
#将容器centos的内存限制为512M
5.对blkio的限制

如果是在一台服务器上进行容器的混合部署,那么会出现同时有几个程序写磁盘数据的情况,这时可以通过–device-write-iops选项来限制写入的iops,相应的还有–device-read-bps选项可以限制读取的iops。但是这种方法只能针对blkio限制的是设备(device) ,而不是分区。相应Cgroup写配置文件/sysfs/cgroupbikio/docker容器ID/blikio.throttle.write iops device。

docker run --devicc-write-bps /dev/sda1:1mb容器名
#限制容器的/dev/sdal的写入ipos为1MB

谢谢阅读

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值