zoukankan      html  css  js  c++  java
  • Docker 的技术组件

    Docker可以运行于任何安装了现代Linux内核的x64主机上。推荐的内核版本是3.8或者更高。Docker的开销比较低,可用于服务器、台式机或者笔记本。它包括以下几个部分。

    • 一个原生的Linux容器格式,Docker中称为libcontainer。
    • 文件系统隔离: 每个容器都有自己的root文件系统。
    • 进程隔离:每个容器都运行在自己的进程环境中。
    • 网络隔离:容器间的虚拟网络接口和IP地址都是分开的。
    • 资源隔离和分组:使用cgroup(即control group,linux 的内核特性之一)将CPU和内存资源之类的资源独立分配给每个Docker容器。
    • 写时复制: 文件系统都是通过写时复制创建的,这就意味着文件系统是分层的、快速的,而且占用的磁盘空间更小。
    • 日志: 容器产生的STDOUT、STDERR和STDIN这些IO流都会被收集并记入日志,用来进行日志分析和故障排错。
    • 交互式shell:用户可以创建一个伪终端,将其连接到STDIN,为容器提供一个交互式的shell

    安装先决条件:

    • 运行Linux3.8或者更高版本内核(64bit)
    • 内核必须支持一种合适的存储驱动(storage driver),例如:
      • Device Manager;
      • AUFS
      • vfs
      • btrfs
      • ZFS
      • 默认存储驱动通常是Device Mapper或AUFS
    • 内核必须支持并开启cgroup和命名空间(namespace)功能。

    检查前提条件

    • 内核:通过uname命令检查内核版本信息(uname -a)
    • 检查Device Mapper(存储驱动):任何Ubuntu 12.04或者更高版本的宿主机应该都已经按照了Device Mapper,可以通过以下命令
      ls -l /sys/class/misc/device-mapper

      也可以在/proc/devices文件中检查是否有device-mapper条目,

    sudo grep device-mapper /proc/devices
    

      如果没有出现device-mapper的相关信息,也可以尝试加载dm_mod模块,如下:

    sudo modprobe dm_mod
    

      

    cgroup 和命令空间自2,6版本开始已经集成在linux内核中了,2.6.38以后的内核对cgroup和命令空间都提供了良好的支持,基本上没什么bug

    Install Docker

    使用Docker DEB软件包安装docker

    1) 添加Docker的APT仓库

    sudo sh -c "echo deb https://apt.dockerproject.org/repo ubuntu-trusty main >/etc/apt/sources.list.d/docker.list"

     应该将trusty 替换为主机的Ubuntu发行版本,通过运行lsb_release 命令来实现,检测curl有没有安装

    sudo lsb_release --codename |cut -f2 trusty 

     添加Docker仓库的GPG秘钥,

    sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D  

    更新APT源

    sudo apt-get update 

    安装Docker软件包

    sudo apt-get install docker-engine
    

      

    检查安装

    docker info
    

      

    在Ubuntu中,如果使用了UFW(Uncomplicated Firewall).需在UFW中启用数据包的转发,这样才能让Docker正常运行

    修改/etc/default/ufw,将DEFAULT_FORWARD_POLICY="DROP 改为

    DEFAULT_FORWARD_POLICY=“ACCEPT”

    保存修改内容并重新加载UFW即可

    sudo ufw reload
    

      

  • 相关阅读:
    一般图的最大匹配-带花树算法
    Codeforces703D-Mishka and Interesting sum-离线树状数组
    HDU4578-代码一点都不长的线段树
    AOJ.综合训练.2016-12-1
    AOJ.综合训练.2016-12-1
    队列的实现
    队列的实现
    栈的实现
    栈的实现
    贪心算法总结
  • 原文地址:https://www.cnblogs.com/saryli/p/10062225.html
Copyright © 2011-2022 走看看