zoukankan      html  css  js  c++  java
  • Docker

    转载 逗子  

    现在:使用拆分模块的方式,将需要运用的模块进行组合,然后运行在(公共云,个人电脑,测试服务器等),达到跨平台轻松迁移数据的目的。

     

    *做到现在这样的功能的是“容器”:

    *容器:轻量级虚拟技术,是基于操作系统的虚拟技术(Docker、Solaris Zones、BSD jails、Open VZ、LXC),代表着操作系统和用户空间低层进行资源共享,共用一个系统内核,并且可以在主机间迁移,具备root权限,可运程,可备份,回滚的一种虚拟技术。

    *优点:效率更高,资源占用更小,管理更加便捷(同一系列操作系统中)。

    *缺点:灵活性,安全性,配置共享方面有所欠缺。

    *Docker可以看成将数据,操作等进行“分门别类”然后通过容器引擎(盒子)进行传输到个人电脑,公共云等设备上。

     

    *容器&虚拟机区别:

     

    *Docker组件(核心):镜像、容器、库。

    *采用C/S架构:客户端(执行程序)→通过命令行和API形式和守候程序(提供Docker服务)进行通讯。

     

    *镜像:一个只读的静态模板(框架体系);包含环境和应用执行代码(框架语言);采用分层机制。将新增数据通过联合文件系统附加在原基础上。

    *容器:一个运行时环境,是镜像的运行状态,是镜像执行的一种动态表现。

    *库:使用注册服务器(共有的or私有的)存储和共享用户的镜像,是某个特定用户存储镜像的目录。

     

    *Docker特性

    *隔离性:libcontainer(默认容器)=>内核命名空间。

    *安全性:内部(cgroups)| 容器和宿主主机(内核能力机制)。

    *可度量性:cgroups(控制组)→资源度量和分配(用户)。

    *移植性:AUFS(快速更新)→层的概念。

    -----使用AUFS作为Docker容器的文件系统,提供的好处:

     

    *Docker优点(比较LXC):

    *跨平台可移植性:按统一标准打包(镜像中),可传播。

    *面向应用:优化部署应用(设计哲学)→API,接口及文档(体现)。

    *版本控制:追踪、查询、记录版本信息(应用程序更改史)和回滚版本等

    *组件复用:组件式搭建(基础镜像)→Python(运行环境) | postgreasql(基础镜像)。

    *共享性:公共的注册服务器(可免费下载源码)。

    安装注意:

     

    (一)Ubuntu下的安装

    Docker支持以下版本的Ubuntu系统: Ubuntu Trusty 14.04、 Ubuntu Precise 12.04、 Ubuntu Raring

    13.04 和 Saucy 13.10。这里以Ubuntu Trusty 14.04(LTS)(64位)为例进行介绍。

    Ubuntu Trusty的内核是3.13.0,在这个系统下安装时默认的Docker安装包是0.9.1。

    首先,运行以下命令进行安装:

    $ sudo apt-get update

    $ sudo apt-get install docker.io

    然后重启伪终端即可生效。

    如果想安装最新的Docker,首先你需要确认你的 apt 是否支持https,如果不支持,则需通过

    如下命令进行安装:

    $sudo apt-get update

    $sudo apt-get install apt-transport-https

    然后将Docker库的公钥加入到本地 apt 中:

    $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80

    --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9

    再将安装源加入到 apt 源中,并更新和安装:

    $ sudo sh -c "echo deb https://get.docker.com/ubuntu docker main

    > /etc/apt/sources.list.d/docker.list"

    $ sudo apt-get update

    $ sudo apt-get install lxc-docker

    为了验证Docker是否安装成功,可以运行如下命令:

    $ sudo docker info

    (二) Red Hat下的安装

    红帽系列主要有红帽企业版 Linux 6、红帽企业版 Linux 7和Fedora。

    1. 红帽企业版Linux 7(RHEL7)

    红帽企业版Linux 7(RHEL7) 中已经默认加入了Docker,它位于附加频道中。安装Docker

    时,首先要启用附加频道,相关命令如下:

    $ sudo subscription-manager repos --enable=rhel-7-server-extras-rpms

    然后进行安装,相关命令如下:

    $ sudo yum install docker

    2. 红帽企业版Linux 6(RHEL6)

    首先,你要保证自己的红帽是6.5以上的,内核版本在2.6.32-431以上。

    在红帽企业版Linux 6和CentOS 6中,我们首先需要安装EPEL包库,而在Fedora上却不用。

    对于不同的平台,一些包的命名和版本也不尽相同。

    安装EPEL的命令:

    $ sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

    然后安装Docker:

    $ sudo yum -y install docker-io

    3. Fedora上的安装

    在Fedora 19上安装Docker的命令如下:

    $ sudo yum -y install docker-io

    在Fedora 20上安装Docker的命令如下:

    $ sudo yum -y install docker

    4. 在红帽系列中启动Docker后台

    安装好之后,我们就可以启动Docker的后台服务了。

    在RHEL 6和CentOS 6中,可以通过如下命令来启动:

    $ sudo service docker start

    我们还可以让Docker服务开机启动:

    $ sudo service docker enable

    在RHEL 7和Fedora系统中,则是:

    $ sudo systemctl start docker

    开机启动是:

    $ sudo systemctl enable docker

    我们可以通过如下命令来确认Docker是否已经安装成功:

    $ sudo docker info

    Containers: 13

    Images: 22

    Storage Driver: aufs

    Root Dir: /var/lib/docker/aufs

    Dirs: 48

    Execution Driver: native-0.2

    Kernel Version: 3.13.0-24-generic

    Operating System: Ubuntu 14.04 LTS

    WARNING: No swap limit support

    (三)OS X下的安装

    因为Docker引擎采用的是Linux的内核和内核特性,如果需要在OS X上运行它,则需要一个虚拟机。Docker已经给我们提供了一种简洁方法,那就是利用Boot2Docker工具来安装虚拟机和

    配置Docker服务。这里的虚拟机指的是VirtualBox。

    首先, 可以去GitHub上下载最新的Boot2Docker。 在编写这本书的时候, 其最新版本是v1.3.2。

    双击下载完的安装包,将会自动安装,如图1-9所示。安装的内容包含VirtualBox虚拟机、

    Docker和Boot2Docker管理工具。

     

    安装完成之后,你可以在OS X的“应用”文件夹中找到Boot2Docker。直接双击来启动它,

    或者采用如下命令行的方式:

    $ boot2docker init

    $ boot2docker start

    $ $(boot2docker shellinit)

    然后在终端可以验证Docker是否成功安装:

    $ docker info

    Containers: 13

    Images: 22

    Storage Driver: aufs

    ...

    至此,OS X下的Docker就安装好了。

    本人开发小白,所写随笔有转发、有心得、随笔、所见问题、或者感觉不错的东西,希望能帮助他人,同时也相当给自己方便!(未来及标明出处,望原作者以及读者见谅海涵!一切为了能解决问题。。。。)
  • 相关阅读:
    大型网站技术架构(八)--网站的安全架构(转)
    大型网站技术架构(七)--网站的可扩展性架构(转)
    大型网站技术架构(六)--网站的伸缩性架构(转)
    大型网站技术架构(五)--网站高可用架构(转)
    大型网站技术架构(四)--网站的高性能架构(转)
    HTML中的空元素
    jetbrains 全家桶,Pycharm激活码,PHPStorm激活码,WebStorm激活码,Goland激活码,Clion激活码,intellij idea激活码(亲测可用)
    legend3---22、通过html,可以使php、vue、jquery、js达成完美的配合
    IlluminateDatabaseQueryException : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes
    template cannot be keyed. Place the key on real elements instead.
  • 原文地址:https://www.cnblogs.com/chengjiao/p/9628174.html
Copyright © 2011-2022 走看看