zoukankan      html  css  js  c++  java
  • docker安装 <一>

    一、docker简介

            Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

         一个完整的Docker有以下几个部分组成:dockerClient客户端;Docker Daemon守护进程;Docker Image镜像;DockerContainer容器。

    二、docker的优点

    1)标准化应用发布,docker容器包含了运行环境和可执行程序,可以跨平台和主机使用;

    2)节约时间,快速部署和启动,VM启动一般是分钟级,docker容器启动是秒级;

    3)方便构建基于SOA架构或微服务架构的系统,通过服务编排,更好的松耦合;

    4)节约成本,以前一个虚拟机至少需要几个G的磁盘空间,docker容器可以减少到MB级;

    5)方便持续集成,通过与代码进行关联使持续集成非常方便;

    6)可以作为集群系统的轻量主机或节点,在IaaS平台上,已经出现了CaaS,通过容器替代原来的主机。

    三、docker的局限

    1)Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用
    2)LXC是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的
    3)隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库
    4)网络管理相对简单,主要是基于namespace隔离
    5)cgroup的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)
    6)Docker对disk的管理比较有限
    7)container随着用户进程的停止而销毁,container中的log等用户数据不便收集

    四、安装docker

    1.更新系统相关包到最新状态
    yum update 

    2.添加yum源到系统中

    复制代码
    tee /etc/yum.repos.d/docker.repo <<-'EOF'
    [dockerrepo]
    name=Docker Repository
    baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
    enabled=1
    gpgcheck=1
    gpgkey=https://yum.dockerproject.org/gpg
    EOF
    复制代码

    3.安装docker服务

    yum install docker-engine

    五、卸载docker

    1.找到docker

    yum list installed | grep docker

    2.卸载包

    yum -y remove docker-engine.x86_64

    3.删除所有镜像,容器等,使用如下命令

    docker rm -rf /var/lib/docker

    #删除镜像
    docker rmi 镜像id

    六、docker相关操作

    1、docker相关命令

    systemctl start docker #启动
    systemctl restart docker #重启
    systemctl stop docker #停止
    systemctl status docker #查看状态
    systemctl enable docker #自启动
    systemctl disable docker #禁止自启动

    2、下载镜像文件

    复制代码
    #搜索镜像文件
    docker search centos
    
    #下载镜像文件
    docker pull centos
    
    #查询所有镜像文件
    docker images -a
    复制代码

    3、Docker里比较重要的概念有注册服务器、仓库、镜像、容器。

    仓库: 注册服务器是存放仓库的地方,其上往往存放着多个仓库。每个仓库集中存放某一类镜像,往往包括多个镜像文件,通过不同的标签(tag)来进行区分。例如存放Centos操作系统镜像的仓库,称为Centos仓库,其中可能包括14.04、12.04等不同版本的镜像。

    镜像: Docker镜像(Image)类似于虚拟机镜像,可以将它理解为一个面向Docker引擎的只读模板,包含了文件系统。例如:一个镜像可以只包含一个完整的Centos操作系统环境,可以把它称为一个Centos镜像。

    容器: 容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,而这些容器都是相互隔离、互不可见的。可以从一个镜像创建无数个容器。平时我们主要操作的就是容器。我们也可以把容器打包成镜像以方便再次使用。镜像自身是只读的。容器从镜像启动的时候,Docker会在镜像的最上层创建一个可写层,镜像本身将保持不变。

    4、查看容器

    docker ps           查看正在运行的容器
    docker ps -a  查看所有容器
    docker ps -l  查看最近一次运行的容器

    七、创建容器与进入容器

    1、attach 进入docker

    复制代码
    #创建一个守护态的Docker容器
     docker run -itd centos /bin/bash 
    
    #查看容器信息
    docker ps
    
    #使用attach进入容器
    sudo docker attach 2c05ad6e584d
    复制代码

    2、exec进入docker

    #创建容器
    docker run -itd --name xiaoyao centos:latest /bin/bash
    #进入容器
    docker exec -it xiaoyao /bin/bas

    3、查看容器的详细信息

    docker inspect 012468daf279 

     4、docker安装工具命令

    yum install wget #缺少wget命令
    yum install net-tools 
    yum install initscripts #缺少service命令

    5.同步docker容器与服务器时间 

        由于2者使用不同的区时,会造成相差8个小时的问题

    方法一:创建容器的时候指定启动参数,自动挂载localtime文件到容器内
    docker run --name <name> -v /etc/localtime:/etc/localtime:ro  .... 
    方法二:同步docker与服务器的时间
    docker cp /etc/localtime:【容器ID或者NAME】/etc/localtime

    八、配置加速器

    阿里云加速器地址:https://cr.console.aliyun.com/#/accelerator

  • 相关阅读:
    Scilab5.5.2 在Centos5.11下binary安装(注:不是源码编译安装)
    《DSP using MATLAB》Problem 9.5
    Java 出现警告 不能读取AppletViewer的属性文件
    《DSP using MATLAB》Problem 9.4
    《DSP using MATLAB》Problem 9.2
    《DSP using MATLAB》Problem 8.46
    《DSP using MATLAB》Problem 8.45
    风力摆?这是不是太简单了点
    树莓派:基于物联网做的指纹打卡器
    Python之面向对象(一)
  • 原文地址:https://www.cnblogs.com/xiaoyaodijun/p/8084644.html
Copyright © 2011-2022 走看看