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

[经验分享] Docker安装及镜像管理

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-7-18 09:23:36 | 显示全部楼层 |阅读模式
1.docker简介

  • 容器虚拟化,比传统虚拟化轻量
  • 2013年出现,发展非常迅猛
  • Redhat在6.5版本开始支持docker
  • 使用GO语言开发,基于apache2.0协议
  • 开源软件,项目代码在github维护



2.容器虚拟化和传统虚拟化比较
wKiom1eLSLyDALYNAAMCx0due60727.jpg
3.Docker的优势
  • 启动非常快,秒级实现
  • 资源利用率很高,一台机器可以跑上千个docker容器
  • 更快的交付和部署,一次创建和配置后,可以在任意 地方运行
  • 内核级别的虚拟化,不需要额外的hypevisor支持,会有更高的性能和效率
  • 易迁移,平台依赖性不强


4.Docker核心概念
  • 镜像,是一个只读的模板,类似于安装系统用到的那个ISO文件,我们通过镜像来完成各种应用的部署
  • 容器,镜像类似于操作系统,而容器类似于虚拟机本身。它可以被启动、开始、停止、删除等操作,每个容器都是相互隔离的。
  • 仓库,存放镜像的一个场所,仓库分为公开仓库和私有仓库。最大的公开仓库是Docker hub(hub.docker.com),国内公开仓库(dockerpool.com)

5.Docker安装
centos6 上安装(6.5之前版本需要升级一下 yum update )
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-6.repo   
yum clean all

yum makecache
#安装阿里yum源及扩展源

yum install -y docker-io   #centos6
yum install -y docker   #如果是centos7
/etc/init.d/docker start   #centos6启动,需要docker -d 一下
systemctl start docker     #centos7启动

相关报错:
docker: relocation error: docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference
解决:
yum upgrade device-mapper-libs

6.Docker镜像管理
docker pull  centos     #从docker.com获取centos镜像
docker images #查看本地都有哪些镜像
docker tag centos szk #为centos镜像设置标签为szk,再使用docker images查看会多出来一行,改行的image id和centos的一样
docker search (image-name)   #从docker仓库搜索docker镜像,后面是关键词
docker run -t -i centos  /bin/bash  #用下载到的镜像开启容器,-i表示让容器的标准输入打开,-t表示分配一个伪终端,要把-i -t 放到镜像名字前面
当该镜像发生修改后,我们可以把该镜像提交重新生成一个新版本进行在本地。
docker ps  #查看运行的容器
docker rmi centos  #用来删除指定镜像, 其中后面的参数可以是tag,如果是tag时,实际上是删除该tag,只要该镜像还有其他tag,就不会删除该镜像。当后面的参数为镜像ID时,则会彻底删除整个镜像,连通所有标签一同删除
docker ps -a #查看所有容器,包括已经退出的。

7.基于已有镜像的容器创建镜像
运行docker run后,进入到该容器中,我们做一些变更,比如安装一些东西,然后针对这个容器进行创建新的镜像
docker commit -m "change somth"  -a "somebody info"  image_id (通过docker images获取id) 新镜像名字
例如:  
docker commit -m "install httpd" -a "Aming" 2c74d574293f aming/centos
#这个命令有点像svn的提交,-m 加一些改动信息,-a 指定作者相关信息  2c74d这一串为容器id,再后面为新镜像的名字

8.基于本地模板导入创建镜像
模块获取地址:http://openvz.org/Download/templates/precreated
cat centos-6-x86_64-minimal.tar.gz |docker import - cnetos-6-x86_64
#使用一个centos6模板导入
docker images     #查看导入文件
REPOSITORY          TAG                 IMAGE ID            CREATED              VIRTUAL SIZE
cnetos-6-x86_64     latest              f4bd4fe45d33        About a minute ago   326.4 MB
docker save -o centos.tar docker.io/centos  
#把现有镜像,导出为一个文件,前面的生成的文件名,后面的源镜像

ll -h       #生成的文件在当前目录下
-rw-r--r--  1 root root 195M 3月  17 14:56 centos.tar
我们还可以用该文件恢复本地镜像:
docker load --input centos.tar 或者
docker load < centos.tar
docker push centos.tar   
#可以把自己的镜像传到dockerhub官方网站上去,但前提是需要先注册一个用户,后续如果有需求再研究吧


运维网声明 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-245622-1-1.html 上篇帖子: 基于docker的高可用服务解决方案 下篇帖子: Docke容器及仓库管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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