zoukankan      html  css  js  c++  java
  • Docker基本使用

    一、定义

    1. 官方定义:Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。由 Docker Inc. 公司 前 dotC1oud公司, PaaS市场中的老牌提供商)的团队编写,基于 Apache 2.0开源授权协议发行。
    2. 程序员能理解的定义:Docker是Docker Inc. 公司开源的一个基于Linux技术构建容器的容器引擎,其源代码在GitHub上,基于Go语言开发并遵从Apache 2.0协议;
    3. 普通人能理解的定义:“没有集装箱,就不会有全球化。”而Docker就是IT领域里改变世界的“集装箱”;
    4. 圈里人总结:Docker是一套以容器技术为核心的IT标准化构建体系。它不仅仅是一项技术,更不仅仅是一家公司,Docker必将改变整个IT世界,“Build Ship Run”。

    二、优势

    1. 对开发人员来说:Docker提供了简单快速的隔离环境,无需再为配置环境操心,让程序跑到哪都一样;
    2. 对运维人员来说:Docker可以快速构建出一整套无状态分布式基础设施,使得运维工作可以通过程序化的脚本来完成;
    3. 对业务人员来说:从每月或每周才能发布的新版本到只需1小时就能发布完毕,迅速满足用户新需求;
    4. 标准化应用发布:Docker容器包含了运行环境和可执行程序,可以跨平台和主机使用;
    5. 节约时间:快速部署和启动,VM启动一般是分钟级,Docker容器启动是秒级;
    6. 方便构建基于SOA架构或微服务架构的系统,通过服务编排,更好的松耦合;
    7. 节约成本:以前一个虚拟机至少需要几个G的磁盘空间,Docker容器可以减少到MB级;
    8. 方便持续集成:通过与代码进行关联使持续集成非常方便;
    9. 可以作为集群系统的轻量主机或节点:在IaaS平台上,已经出现了CaaS,通过容器替代原来的主机。

    三、docker的基本命令 

        1.卸载旧的docker
         方式一:Rpm方式查询卸载
          查找已经安装docker
          # rpm -qa | grep -i docker 
          卸载docker
          # rpm -e [module1][module2][.....]
    
         方式二:yum方式查询卸载
          查找已经安装docker
          # yum list installed | grep -i docker
          yum方式卸载docker
          # yum -remove 
    
        2.安装docker
          #yum install -y docker
    
        3.检查安装是否成功 
          #docker version 
    
        4. 设置镜像加速器
          安装完成后修改 /etc/docker/daemon.json :
             {
                 "registry-mirrors":["https://uulfe4bd.mirror.aliyuncs.com"]
             }
    
        5.启动docker
          # systemctl start docker //centos7及以后版本
          # service docker start   //centos6及之前的版本
    
        6.获取CentOS镜像(使用阿里云CentOS的镜像)
         在 https://dev.aliyun.com/list.html 上 搜索 centos7,找到纯净版(也就是centos7的基础镜像),拿到地址:
          # docker pull registry.cn-hangzhou.aliyuncs.com/moensun/centos7
    
        7.确认 CentOS 镜像已经被获取
          # docker images registry.cn-hangzhou.aliyuncs.com/1hpc/centos 
    
        8.创建docker 容器(可以根据一个镜像创建多个容器)
          # docker run -tid 镜像ID /bin/bash       //非centos7
          # docker run -tid 镜像ID /usr/sbin/init  //centos7版本。使用/usr/sbin/init解决systemctl报错不能使用的问题
    
        9.查看容器列表
          # docker ps [option]
          # docker ps -a
    
        10.重命名容器名称
          # docker rename old容器名  new容器名
    
        11.停止容器
          # docker stop 容器名称
    
        12.进入容器
          # docker exec -it 容器名称 /bin/bash
    
        13.退出容器
          #exit
          
        14.删除容器
         # docker rm 容器名称
    
        15.删除镜像
          # docker rmi 镜像ID
    
        16.Docker文件拷贝(容器<=>docker)
          # docker cp 原路径 docker容器名:docker容器路径(系统=》docker)
          # 例如:docker cp MySQL-server-5.6.38-1.el7.x86_64.rpm firstMain:/root/
          # docker cp docker容器名:docker容器路径 原路径(docker=》系统)
    # 例如:docker cp firstMain:/etc/my.cnf /etc/my.cnf

      17.查看docker容器的IP地址
        # docker inspect 容器名 | grep IPAddress
  • 相关阅读:
    bzoj 3779 重组病毒——LCT维护子树信息
    bzoj 4010 [HNOI2015]菜肴制作——贪心
    bzoj 2535 && bzoj 2109 [Noi2010]Plane 航空管制——贪心
    bzoj 3671 [Noi2014]随机数生成器——贪心(时间复杂度分配)
    bzoj 2395 [Balkan 2011]Timeismoney——最小乘积生成树
    bzoj 3157 && bzoj 3516 国王奇遇记——推式子
    bzoj 1101 [POI2007]Zap——反演
    hdu 4372 Count the Buildings——第一类斯特林数
    bzoj 2406 矩阵——有源汇上下界可行流
    bzoj 2039 [2009国家集训队]employ人员雇佣——二元关系
  • 原文地址:https://www.cnblogs.com/xbq8080/p/8099109.html
Copyright © 2011-2022 走看看