设为首页 收藏本站
查看: 1136|回复: 0

[经验分享] Docker架构:安装与基本命令

[复制链接]

尚未签到

发表于 2019-2-21 08:33:55 | 显示全部楼层 |阅读模式
Docker概述
  Docker是在Linux容器里运行应用的开源工具,是一种轻量级的虚拟机。Docker项目目前已经加入Linux基金会,全部开源代码均在https://github.com/docker 上进行相关维护,官网地址为:https://www.docker.com/ ,有相关文档可以参考。现在Docker与OpenStack同为最受欢迎的云计算开源项目。
Docker的容器技术可以在一台主机上轻松地为任何应用创建一个轻量级的、可移植的、自给自足的容器。通过这种容器打包应用程序,意味着简化了重新部署、调试这些琐碎的重复工作,极大地提高了工作效率。

开始部署

安装

1.部署yum源
vim /etc/yum.repos.d/docker.repo
[docker-repo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
2.使用yum安装Docker
yum install docker-engine -y
3.安装完成后启动Docker并设置为开机自启动
systemctl start docker.service
systemctl enable docker.service
4.查看docker版本
docker version
Docker镜像操作
  1.搜索镜像

  docker search lamp


2.下载镜像nickistre/centos-lamp
命令格式:docker pull 仓库名称[:标签]
如果下载镜像时不指定标签,则默认下载仓库中最新版本的镜像


  docker pull nickistre/centos-lamp

  3.查看镜像信息
命令语法:docker images 仓库名称:[ 标签 ]
docker images 表示查看本地所有镜像。


REPOSITORY    #镜像属于的仓库
TAG                    #镜像的标签信息,标记同一个仓库中的不同镜像
IMAGE ID           #镜像的唯一ID号,唯一标识了该镜像。
CREATED          #镜像的创建时间
SIZE                   # 镜像大小
  用户还可以根据镜像的唯一标识ID号,获取镜像详细信息
命令格式:docker inspect 镜像ID号

4.为镜像添加新的标签
命令格式:docker tag 名称:[ 标签 ] 新名称:[ 新标签 ]

5.删除镜像
命令格式:docker rmi 仓库名称:标签
或者 docker rmi 镜像 ID号
当一个镜像有多个标签的时候,docker rmi 命令只是删除该镜像多个标签中的指定标签,不会影响镜像文件,但当该镜像只剩下一个标签时,在使用删除命令就会彻底删除该镜像。

6.存出镜像
当需要把一台机器上的镜像迁移到另一台机器上时,需要将镜像保存成本地文件,这一过程叫做存出镜像,可以使用docker save 命令进行存出操作。
命令格式:docker save -o 存储文件名 存储的镜像
docker save  -o lamp nickistre/centos-lamp

7.载入镜像
将存出的镜像从A机器拷贝到B机器,需要在B机器上使用该镜像,就可以将该导出文件导入到B机器的镜像库中,这一过程叫载入镜像
命令格式: docker load < 存出的文件
或者            docker --input 存出的文件
docker load  文件名
docker export f41fa9c70057 > centos7
导出的文件从A机器拷贝到B机器,之后使用docker import命令导入,称为镜像。
命令格式: cat 文件名 | docker import - 生成的镜像:标签
cat centos7tar |docker import - centos7:test
7.容器的删除
可以使用docker rm命令将一个已经处于终止状态的容器删除。
命令格式: docker rm 容器 ID/名称
docker rm 23e9bbbd5dfs
如果要删除一个正在运行的容器,可以添加-f选项强制删除,但建议先将容器停止再做删除操作。
Docker资源控制

Cgroup是Control group的简写,是Linux内核提够的一种限制使用物理资源的机制,主要包括CPU、内存、blkio。
1.对CPU的控制
限制cpu使用速率
使用 --cpu-quota 选项来限制cpu的使用率,cpu的百分比是以1000为单位
docker run --cpu-quota 20000 容器名   //cpu的使用率限定为20%
2.多任务按比例分享CPU
docker run --cpu-shares 1024 容器A
docker run --cpu-shares 1024 容器B
docker run --cpu-shares 1024 容器C    //此时cpu的分配比例为1:1:2
3.限制cpu内核使用
使用 --cpuset-cpus选项来使某些程序独享cpu内核,以便提高其处理速度,选项0表示第一个内核,依次第二个,第三个。
docker run --cpuset-cpus 0,1,2,3 容器名   //使容器绑定1~4内核使用
4.对内存使用的限制
docker容器中通过命令来限制内存使用量,当容器Cgrop使用的内存超过了限制的容量,Linux内核将会尝试回收这些内存,如果依旧无法控制内存使用在限制范围之内,进程将会被杀死。
docker run -m 1024m 容器名     //限制使用内存为1G
5.对blkio的限制
如果在一台服务器上进行容器的混合部署,那么会出现同时有几个程序写磁盘数据的情况,这时可以通过--device-write-iops选项来限制写入的iops,相应的还有--device-read-bps选项限制读取的iops。该方法只针对blkio限制的是设备,而不是分区。
docker run --device-write-bps /dev/sda1:1mb 容器名   //限制容器的/dev/sda1的写入ipos为1MB



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-675105-1-1.html 上篇帖子: Docker的安装与镜像、容器、仓库的管理 下篇帖子: Docker架构,镜像及容器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表