zoukankan      html  css  js  c++  java
  • 4.镜像管理【Docker每天5分钟】

    Docker给PaaS世界带来的“降维打击”,其实是提供了一种非常便利的打包机制。该机制打包了应用运行所需要的整个操作系统,从而保证了本地环境和云端环境的高度一致,避免了用户通过“试错”来匹配不同运行环境间差异的痛苦。

      接下来来讲解Docker三大组件之一的镜像,如果说镜像是静态的只读文件,那么容器就是带有运行时需要的可写文件层。也可以这样理解,镜像是对象的模板——类,容器是类生成的对象,镜像只有一个,对象可以有很多个。

      

    1.搜索镜像

    docker search ubuntu   //搜索镜像

    2.拉取镜像

    docker pull ubuntu:14.04  //NAME[:TAG],如果不加标签,默认是latest ; 先本地,后仓库[官方,私人]
    docker pull hub.c.163.com/pull/ubuntu:14.04
     
    ・配置加速器地址,记得配后重启
    vi /etc/docker/daemon.json
    {
         "registry-mirrors": ["https://registry.docker-cn.com"]
    }
     
    #重启
    sudo service docker restart 

    3.查看镜像 

    docker images  -a //查看本地的镜像

    4.设置标签

    docker tag f975 jackyfei/ubuntu:dev //给镜像打标签

    5.启动容器并进入终端

    docker run -itd image id  //把镜像启动为容器,-i表示让容器以标准输入打开,-t表示分配个伪终端,-d表示后台启动

    6.删除镜像

    docker rmi ubuntu   //后面的参数可以是tag,如果是tag,实际上是删除该tag。当后面的参数为镜像ID时,则会彻底删除整个镜像,所有标签也会一同删除。

    7.构建镜像

    vi Dockerfile         //包含一组指令,Dockerfile规则
     
    FROM jackyfei/ubuntu:dev
    MAINTAINER jackyfei "zfh@astop.com.cn"
    
    RUN /bin/echo 'root:123456' |chpasswd
    RUN useradd jackyfei
    RUN /bin/echo 'jackyfei:123456' |chpasswd
    RUN /bin/echo -e "LANG="en_US.UTF-8"" >/etc/default/local
    EXPOSE 22
    EXPOSE 80
    CMD /usr/sbin/sshd -D
     
    docker build -t jackyfei/ubuntu:dev .         //生成镜像

    8.上传镜像

    docker push NAME[:TAG] | [REGISTRY HOST : EGISTRY_PORT/INAME[:TAG]]
     
    //公共仓库
    docker tag test:latest user/test:latest         //打标签
    docker push jackyfei/ubuntu:dev                //上传
     
    //私人仓库
    7.1 docker pull registry                                 //registry是docker官方镜像,用来创建本地的docker私有仓库
    7.2 sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry  
                                                                         //启动容器,冒号左边为宿主机端口,右边为容器端口
    7.3 vi /etc/docker/daemon.json                   //修改配置为:{"insecure-registries":["172.16.0.245:5000"]}
    7.4 systemctl restart docker                        //重启容器
    7.5 docker tag ubuntu:16.04 172.16.0.245:5000/ubuntu       //打标签
    7.6 docker push 172.16.0.245:5000/ubuntu                   //推送到私有仓库
    7.7 curl 172.16.0.245:5000/v2/_catalog                               //查看推送上来的镜像
    7.8 docker pull 172.16.0.245:5000/ubuntu
     

    如果对Docker有更深的洞察,欢迎补充和讨论,感谢您的捧场。

  • 相关阅读:
    Prometheus监控node-exporter常用指标含义
    Go 程序开发的注意事项
    kafka集群安装和使用
    storm集群的安装
    如何用zabbix监控mysql多实例
    企业环境下用脚本设置ubuntu防火墙
    使用教程:宝塔服务器管理助手Linux面版
    Zabbix是什么?
    小白都能看懂的Linux系统下安装配置Zabbix
    Linux:检查当前运行级别的五种方法
  • 原文地址:https://www.cnblogs.com/jackyfei/p/8720491.html
Copyright © 2011-2022 走看看