ドッキングウィンドウコンテナのlinux

まず、知人のドッキングウィンドウ

1.1ドッキングウィンドウとは何ですか

フランス人は2013年3月にオープンソースのApache 2.0ライセンス、GitHubの上の主要なメンテナンスプロジェクトコードに立ち上げた時にドッキングウィンドウは、もともとプロジェクトdotCloud内部創業者ソロモンHykesました。
ドッカー使用Googleは囲碁言語の開発を実現開始しました。
パッケージには、Linuxのドッキングウィンドウコンテナで、コンテナは、使いやすいインターフェースを提供します。これは、最も人気のあるLinuxコンテナ・ソリューションです。
かなりシンプルなインターフェースをドッキングウィンドウ、ユーザーが簡単に作成することができ、コンテナを破壊します。
ドッキングウィンドウは、ファイルの内部にパッケージ、プログラムやアプリケーション手続きに依存します。仮想コンテナを生成します。このファイルを実行します。
仮想コンテナ内のプログラムの実行、ドッキングウィンドウと同じ物理マシン上で実走行、同様に、環境問題について心配しないでください。

シーンと1.2ドッカ

自動化されたWebアプリケーションのパッケージャとの販売代理店
自動テストと継続的インテグレーションは、出版
サービス指向の環境に展開し、データベースやその他のアプリケーションを調整します

1.3なぜドッキングウィンドウ?

私たちは長い間見て、長い時間前に、それは、サーバーアプリケーションを展開する方法です!

 

仮想マシン(マザーボードサポート仮想化技術:ハイパーバイザ)が登場物理マシンの多くの問題のあるので、以降では、VMの仮想マシンがサポート仮想化技術にコンピュータにインストールされています。

しかし、また、仮想化の限界があり、各仮想マシンは、完全なある程度のマルチチャンネルの仮想マシンは、オペレーティングシステムのリソース自体を枯渇されるシステムリソースを割り当てるために、オペレーティング・システム、または必須の拡張であります
サーバー環境

第一世代:サーバー + CentOSの   
第二世代:個人:サーバー +窓+ VMware Workstationの(ラーニング版)+ centos7機械ごみ、唯一の仮想マシン内にインストールすることができます10 +   Djangoのアプリケーション
 
      サーバー環境3つのフェーズへの         
      ライン(顧客サービスのための)サーバー上         
      のオンラインサーバー(テスト環境)に関する         
      ローカルテストコード環境()
                            
      サーバー:エンタープライズ・ +のVMware ESXiの(企業の仮想化)+ Linuxの 
                                       + CentOSの
                                       + RedHatの
                                       + SUSE 
第三世代:サーバー + opnstatckクラウド仮想
第四世代:サーバー +のVMware ESXiのドッカー+ + のDjangoアプリケーション
私たちの個々の学習ノート+のVMware + CentOSの+ドッカ+ジャンゴ 

 

二、ドッキングウィンドウと仮想マシン

2.1ディッカーと仮想マシンの違い

伝統的な仮想マシンVS 2.2ドッカ

 

特性

容器

虚拟机

启动

秒级

分钟级

硬盘使用

一般为 MB

一般为 GB

性能

接近原生

系统支持量

单机支持上千个容器

一般几十个

三、环境配置的难题

3.1 应用场景

让开发人员最头疼的麻烦事之一就是环境配置了,每台计算机的环境都不相同,应该如何确保自己的程序换一台机器能运行起来呢?

用户必须确保的是:

  1. 操作系统的相同
  2. 各种平台库和组件的安装
  3. 例如python依赖包,环境变量等

如何一些低版本的依赖模块和当前环境不兼容,那就头疼了。。。。。

如果环境配置这么痛苦的话,换一台机器,就得重新配置一下,那么在安装软件的时候,带着原始环境一模一样的复制过来。

 

然而,开发和运维之间聊天一般是这样的

3.2 解决环境配置的方法

3.2.1 方案一:虚拟机

 虚拟机也可以制作模板,基于模板创建虚拟机,保证环境问题一致

虚拟机(virtual machine)就是带环境安装的一种解决方案。它可以在一种操作系统里面运行另一种操作系统,比如在 Windows 系统里面运行 Linux 系统。

应用程序对此毫无感知,因为虚拟机看上去跟真实系统一模一样,而对于底层系统来说,虚拟机就是一个普通文件,不需要了就删掉,对其他部分毫无影响。

虽然用户可以通过虚拟机还原软件的原始环境。但是,这个方案有几个缺点。

(1)资源占用多

虚拟机会独占一部分内存和硬盘空间。它运行的时候,其他程序就不能使用这些资源了。哪怕虚拟机里面的应用程序,真正使用的内存只有 1MB,虚拟机依然需要几百 MB 的内存才能运行。

(2)冗余步骤多

虚拟机是完整的操作系统,一些系统级别的操作步骤,往往无法跳过,比如用户登录。

(3)启动慢

启动操作系统需要多久,启动虚拟机就需要多久。可能要等几分钟,应用程序才能真正运行。

3.2.2 方案二  Linux容器

现在:自从用上docker容器后,可以实现开发、测试和生产环境的统一化和标准化。

镜像作为标准的交付件,可在开发、测试和生产环境上以容器来运行,最终实现三套环境上的应用以及运行所依赖内容的完全一致。

 由于虚拟机的诸多问题,Linux发展出了另一种虚拟化技术:Linux容器(Linux Containers,缩写LXC)

Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离。在正常进程的外面套了一个保护层,对于容器里面进程来说,它接触的资源都是虚拟的,从而实现和底层系统的隔离。

(1)启动快

容器里面的应用,直接就是底层系统的一个进程,而不是虚拟机内部的进程。所以,启动容器相当于启动本机的一个进程,而不是启动一个操作系统,速度就快很多。

(2)资源占用少

容器只占用需要的资源,不占用那些没有用到的资源;虚拟机由于是完整的操作系统,不可避免要占用所有资源。另外,多个容器可以共享资源,虚拟机都是独享资源。

(3)体积小

容器只要包含用到的组件即可,而虚拟机是整个操作系统的打包,所以容器文件比虚拟机文件要小很多。

总之,容器有点像轻量级的虚拟机,能够提供虚拟化的环境,但是成本开销小得多。

 

3.3 docker容器的优势

更高效的利用系统资源
由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统 资源的利用率更高。
无论是应用执行速度、内存损耗或者文件存储速度,都要比传 统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运 行更多数量的应用。
更快速的启动时间
传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接 运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启 动时间。大大的节约了开发、测试、部署的时间。
一致的运行环境
开发过程中一个常见的问题是环境一致性问题。由于开发环境、测试环境、生产环 境不一致,导致有些 bug 并未在开发过程中被发现。
而 Docker 的镜像提供了除内 核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现 “这段代码 在我机器上没问题啊” 这类问题。
持续交付和部署
对开发和运维(DevOps)人员来说,最希望的就是一次创建或配置,可以在任意 地方正常运行。
使用 Docker 可以通过定制应用镜像来实现持续集成、持续交付、部署。开发人员 可以通过 Dockerfile 来进行镜像构建,并结合 持续集成(Continuous Integration) 系 统进行集成测试,
而运维人员则可以直接在生产环境中快速部署该镜像,甚至结合 持续部署(Continuous Delivery/Deployment) 系统进行自动部署。
而且使用 Dockerfile 使镜像构建透明化,不仅仅开发团队可以理解应用运行环 境,也方便运维团队理解应用运行所需条件,帮助更好的生产环境中部署该镜像。
更轻松的迁移
由于 Docker 确保了执行环境的一致性,使得应用的迁移更加容易。Docker 可以在 很多平台上运行,无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,其运 行结果是一致的。
因此用户可以很轻易的将在一个平台上运行的应用,迁移到另一 个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。

3.4 工作中的虚拟化和容器

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/Diaries/p/11909385.html