zoukankan      html  css  js  c++  java
  • Docker

    Docker

    • docker就是基于go语言开发的一种容器技术,基于linux内核,对进程封装隔离,属于操作系统层面的虚拟化技术,由于隔离的进程独立于宿主机和其他隔离的进程,所以叫做容器,创建和停止都十分迅速,资源需求远远低于虚拟机
    • 为什么用docker,更快速的交付部署,高效的部署和扩容,更高的资源利用率,docker也叫码头工人,以前安装软件都是散装的,而使用docker都是使用的镜像,而镜像也可以理解为集装箱
    • 主机级虚拟化(每个主机单独内核):

      • 类型一:在硬件上直接安装

      • 类型二:vmware EXSI,kvm

    • 容器级虚拟化(同一内核级):

      • docker

    • Chroot 它是一个 UNIX 操作系统上的系统调用,用于将一个进程及其子进程的根目录改变到文件系统中的一个新位置,让这些进程只能访问到该目录
    • docker都隔离了什么

      • IPC进程直接通信,不能跨空间

      • UTS、Mount文件系统挂载点、IPC、PID、User用户、Network网络

      • 使用linux内核级的namespaces名称空间实现隔离,内核版本都要在3.8以上

    • CPU资源和内存分配
    • 容器都是运行在内核上,要是有一个容器一直吃cpu对系统会造成影响,cpu属于可压缩行资源 得不到就挂着,但是内存属于非可压缩资源,不够就会挂掉

      • cpu在内核级使用cgroups进行比例型分配或者核数,内存使用空间分配

    docker部署python项目

    docker镜像构建

    linux Container(容器)

    • docker是基于lxc实现的

    • lxc-create,template(就像脚本一样)

    • lxc帮我们创建空间,使用模板快速的构建

    docker(镜像文件)

    • docker因为镜像简化了容器的使用难度,docker一个容器中只运行一个进程

    docker编排工具

    • nmp

    • machine+swarm+compose

    • mesos+marathon

    • kubernetes --> k8s

    • libcontainer -->runC

    docker基础使用

    docker是c/s,ce社区版,ee企业版

    docker安装

    • 安装docker源
      • 下载清华docker-ce源

          wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

      • 将下载下来的docker-ce.repo文件进行修改为清华源地址
        • vim /etc/yum.repos.d/docker-ce.repo
        • # 替换命令
          %s@https://download.docker.com/@https://mirrors.tuna.tsinghua.edu.cn/dockerce/@
      • 查看镜像源是否加载命令:   yum repolist
      • 指定版本安装命令:  yum install docker-ce-18.06.0.ce

    docker镜像加速

    • 加速方式
      • docker cn
      • 阿里云加速
      • 中国科技大学加速
    • 配置加速
      • mkdir /etc/docker
      • vim /etc/docker/daemon.json
      • {
        "registry-mirrors": ["https://registry.docker-cn.com"]
        }
        #也可以添加两个
        {
        "registry-mirrors":
        ["https://fvn7v6mj.mirror.aliyuncs.com","https://registry.docker-cn.com"]
        }
    • 启动docker
      • systemctl start docker.service
    • 版本查看命令 : docker version
    • 详情信息命令 : docker info

     

    镜像管理

    • 搜索镜像
      • docker search nginx
    • 下载镜像
      • docker image pull nginx:1.14-alpine
      • docker images  列出镜像

    容器管理

  • 相关阅读:
    git版本回退问题记录
    git add的各种情况分类
    代码优化积累【持续更新】
    package.json和package-lock.json的区别
    new Date在IE下面兼容问题
    git fetch和git pull的区别
    Node.Js的热更新服务——supervisor
    springboot 指定启动环境
    java后台解决上传图片翻转90的问题,有demo,经过测试可用
    intellij IDEA 实用快捷键
  • 原文地址:https://www.cnblogs.com/Pythonzrq/p/13492083.html
Copyright © 2011-2022 走看看