zoukankan      html  css  js  c++  java
  • docker2 深入了解docker

    docker镜像、容器、仓库的基本概念

    镜像

    • Docker 镜像就是一个只读的模板。
      例如:一个镜像可以包含一个完整的 CentOS 操作系统环境,里面仅安装了 httpd或用户需要的其它应用程序。
    • 镜像可以用来创建 Docker 容器。
    • Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。

    容器

    • Docker 利用容器来运行应用。
    • 容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
    • 可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
    • *注:镜像是只读的,容器在启动的时候创建一层可写层作为最上层。

    仓库

    • 仓库是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
    • 仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
    • 最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。 其作为默认docker仓库,但在国内下载速度很慢。当然,用户也可以在本地网络内创建一个私有仓库。当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。
    • *注:Docker 仓库的概念跟 Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。

    docker容器安装

    RedHat/CentOS必须要6.6版本以上,或者7.x才能安装docker,建议在RedHat/CentOS 7上使用docker,因为RedHat/CentOS 7的内核升级到了kernel 3.10,对lxc容器支持更好。

    centos6.6安装docker
    rpm -ivh http://mirrors.yun-idc.com/epel/6Server/x86_64/epel-release-6-8.noarch.rpm
    
    yum install docker-io               
    
    chkconfig docker on
    
    service docker start
    
    docker version
    

    Centos7.X安装centos

    # vim /etc/yum.repos.d/docker.repo
    [dockerrepo]
    name=Docker Repository
    baseurl=https://yum.dockerproject.org/repo/main/centos/7/
    enabled=1
    gpgcheck=1
    gpgkey=https://yum.dockerproject.org/gpg
    # yum -y install docker-engine
    # systemctl start docker.service
    # systemctl enable docker.service

    或者直接下载rpm包安装,链接
    https://yum.dockerproject.org/repo/main/centos/7/Packages/

    ubuntu 16.04 64安装docker

    1. 添加GPG key:
    
    $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
    
    2. 添加源
    
    新建文件:/etc/apt/sources.list.d/docker.list,在里面添加内容:
    
    deb https://apt.dockerproject.org/repo ubuntu-xenial main
    
    3. 更新源
    
    $ sudo apt update
    
    安装与测试
    
    安装
    
    $ sudo apt install docker*
    
    启动与测试
    
    $ sudo service docker start 
    $ sudo docker run hello-world

    启动遇到的问题

    问题:Docker#docker dead but pid file exists

    解决方法:

    yum-config-manager --enable public_ol6_latest
    yum install device-mapper-event-libs 

     2016-10-27 01:04:10

     

  • 相关阅读:
    cocos2D-X 4.0 build
    Boost Download
    史上最全的CSS hack
    web前端js中ES6的规范写法
    爬虫最终杀手锏 --- PhantomJS 详解(附案例)
    移动端300ms延迟的解决方法
    js动态生成html元素并为元素追加属性
    css中border-sizing属性详解和应用
    纯CSS实现Tab切换
    阻止移动端浏览器点击图片会预览的几种方法
  • 原文地址:https://www.cnblogs.com/kafeikele/p/6002526.html
Copyright © 2011-2022 走看看