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

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

[复制链接]

尚未签到

发表于 2018-5-26 10:31:56 | 显示全部楼层 |阅读模式
  1. 安装Docker
   DSC0000.jpg
  Docker开源的容器引擎,可以让开发者打包应用以及依赖的库,然后发布到任何流行的linux发行版上,移植很方便;
  由go语言编写,基于apache2.0协议发布;
  基于linux kernel,要想在win下运行需要借助一个vm(虚拟机)来实现;
  自2013年开始,近些年发展迅猛;
  docker从1.13x开始,版本分为社区版ce和企业版ee,并且基于年月的时间线形式;
   DSC0001.jpg
  优点:
  
  启动非常快,秒级实现
  资源利用率高,一台高配置服务器可以跑上千个docker容器
  更快的交付和部署,一次创建和配置后,可以在任意地方运行
  内核级别的虚拟化,不需要额外的hypevisor支持,会有更高的性能和效率
  易迁移,平台依赖性不强
  yum安装
   curl https://download.docker.com/linux/centos/docker-ce.repo -o  /etc/yum.repos.d/docker.repo
   yum install -y docker-ce
  速度比较慢,大家也可以直接下载rpm包
   https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
  下载完,上传到linux下
  也需要用yum安装,可以自动解决依赖关系
  yum install -y docker-ce-xxxx.rpm
  启动docker
   systemctl start docker
  查看进程
  ps aux | grep docker
DSC0002.jpg DSC0003.jpg

  自动生成的规则
  保存规则:service docker save
DSC0004.jpg DSC0005.jpg

DSC0006.jpg

DSC0007.jpg

  iptables -t nat  -F 清除规则
  重启docker 服务后规则又出自动添加。
  2. 镜像管理
   docker pull centos//可以下载centos镜像,速度很慢
  配置docker加速器
  (参考 http://blog.csdn.net/xlemonok/article/details/71403534)
  vi /etc/docker/daemon.json
  #加入如下内容
  {
  "registry-mirrors": ["https://dhq9bx4f.mirror.aliyuncs.com"]
  }
  说明:这个url为加速器地址,需要同学们自行到阿里云申请
  配置完加速器,重启docker服务,再次docker pull centos会快很多
  查看本地的镜像
   docker images
DSC0008.jpg DSC0009.jpg

  搜索镜像
  docker search ubuntu
  其中ubuntu是关键词
DSC00010.jpg DSC00011.jpg

  给镜像打标签
  docker tag centos fxq123
  dokcker tag centos fxqtestos:20180201
DSC00012.jpg DSC00013.jpg

  把镜像启动为容器
  docker run -itd centos
  //把镜像启动为容器,-i表示让容器的标准输入打开,-t表示分配一个伪终端,-d表示后台启动,要把-i -t -d 放到镜像名字前面

  查看运行的容器
   docker ps
  查看运行的容器

  docker ps -a
  加上-a选项后可以查看所有容器,包括未运行的

  删除指定镜像
   docker rmi centos
  docker rmi fxqtestos:20180201
  //用来删除指定镜像, 其中后面的参数可以是tag,如果是tag时,实际上是删除该tag。当后面的参数为镜像ID时,则会彻底删除整个镜像,所有标签也会一同删除

  3. 通过容器创建镜像
  启动容器
  docker run -itd centos /bin/bash
  docker run启动容器后,可以通过下面命令进入容器
  进入容器
  docker exec -it 992c3e4   bash
  //其中992c3e4为容器id,这个id可以用docker ps查看,最后面的bash为进入容器后我们要执行的命令,这样就可以打开一个终端
  docker start 992c3e4
  docker attach 992c3e4

  提交容器生成新的镜像
  进入该容器中,我们做一些变更,比如安装一些东西,然后针对这个容器进行创建新的镜像
  在容器中执行 yum install -y net-tools,然后ctrl d退出容器
  docker commit -m "install net-tools" -a "fxq" c901ab1c8028 centos-net
  //c901ab1c8028 容器ID通过docker ps -a获取,后面的centos-net为新镜像名字
  例如:  docker commit -m "install net-tools" -a "fxq" 2c74d574293f centos_with_nettool 这个命令有点像svn的提交,-m 加一些改动信息,-a 指定作者相关信息  2c74d这一串为容器id,再后面为新镜像的名字

运维网声明 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-481265-1-1.html 上篇帖子: 创建一个支持 sshd 服务的 docker 镜像 下篇帖子: 第五篇:Centos7上配置docker容器ssh登录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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