.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

  • Linuxコンテナを使った、主にソフトウェアの自動デプロイメント(展開)を支援するシステム
  • dotCloud社(現Docker社)が開発し、2013年にオープンソースのプロジェクトとして公開

Linuxコンテナ

Linuxネイティブなコンテナ。

方式

  • Linux OSの持つコンテナ機能やリソースの管理機能
    などをベースに作られた、コンテナ型の仮想化技術
  • VSSでも使用しているCopy on Writeの仕組みを
    UnionFileSystem?の機能で実現し、コンテナ型の仮想化を行っている。
  • コンテナ自体は、Dockerが登場する以前から存在し、
    古くから商用製品にも採用されている技術。
  • 一般的に、Linux OS上での分離された空間を「Linuxコンテナ」と呼び、
    Linuxコンテナは、一般的に、LXCとも呼ばれる。

特徴

  • マシン全体を仮想化する仮想化技術と比べると、
    コンテナによる仮想化は軽量・高速で、実行に必要なリソースも少なくて済む。
  • システムの構成変更や展開の容易さなどから、
    開発段階から実運用環境まで、幅広く利用されている。
  • コンテナ上で動作するプログラムは、基本的にはLinuxのバイナリ。

Dockerコンテナ

  • 古いバージョンのDockerは、Linuxコンテナを使っていたため、
    LinuxコンテナもDockerコンテナも同一のものとして考えても差し支えなかった。
  • 現在のDockerは、libcontainerを利用するようになり、
    Linuxコンテナに依存する部分が無くなった。
  • このため、LinuxコンテナとDockerコンテナは、同じものではないが、
    考え方という観点では、LinuxコンテナもDockerコンテナも、
    同様の分離された空間を提供することには違いがない。

周辺機能

イメージ

Dockerファイル

Docker multi stage build

  • Docker 17.05で導入された革新的な機能。
  • docker buildを複数のビルドに分割して実行できる。
  • 今までも手動で複数のDockerファイルを組み合わせればできたが、
    1ファイルで書けるようになり気軽に中間イメージを色々使えるようになった。
  • ユースケース
  • 依存関係の分離
    • 開発用ビルドの依存
    • ランタイムの依存
  • , etc.

Dockerイメージ

  • ベースイメージにCopy on Writeした差分。
  • Dockerイメージを使用してDockerコンテナを起動する。
  • イメージ・レイヤが上層に積み上げられる。

Docker Registry (レジストリ)

「Docker」向けに、作成したDockerイメージを公開するサービス

  • Docker Hub
    • Docker社が営利目的で開発・運営しているサービス。
    • Docker for Windows」向けの、Windowsコンテナも公開される。

クライアント

Dockerコマンド

Kitematic

サーバ

Docker Engine (エンジン)

Docker イメージの作成と Docker コンテナの実行に必要なコア機能を提供。

Docker Swarm (スウォーム)

ホストのクラスタリングとコンテナのスケジューリングをする。

Docker Compose (コンポーズ)

複数のコンテナを使うアプリケーションを定義する。

Docker Machine (マシン)

自分のネットワークやクラウド上に、自動的にコンテナをデプロイする。

Dockerデーモン

DockerデーモンにDockerイメージの実行を要求すると、Dockerデーモンは、

  • この動作をカスタマイズするにはいくつかの方法がある。
    • イメージを指定する際
    • イメージ・プルポリシー

インストール

CentOS

Ubuntu

Windowsから

利用

CentOS

Ubuntu

Windowsから

参考

Docker Documentation

Dockerfile

Compose file

@IT

いまさら聞けないDocker入門

http://www.atmarkit.co.jp/ait/series/1511/

超入門Docker

http://www.atmarkit.co.jp/ait/series/5086/index.html

※ この記事は、Windows寄りになっている。

山市良のうぃんどうず日記

see the elephant

さくらのナレッジ

Qiita

docker コマンド

docker-compose コマンド

コンテナ内で操作

  • ツール類のインストール
    • apt-get
      「are you root?」となる場合は、先頭にsodoを付与。
      apt-get update
      apt-get install XXX
    • yum
      yum install XXX

Docker multi stage build


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-06-06 (水) 16:45:32 (190d)