-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_Docker
nishi_74322014 edited this page Aug 3, 2026
·
1 revision
- Linuxコンテナを使った、主にソフトウェアの自動デプロイメント(展開)を支援するシステム
- dotCloud社(現Docker社)が開発し、2013年にオープンソースのプロジェクトとして公開
- Docker for Windows は LinuxコンテナとWindowServerコンテナのフロント+αの機能を提供する
LXC(Linuxコンテナ)とは、Linuxネイティブなコンテナの事。
-
Linux OSの持つコンテナ機能やリソースの管理機能などをベースに作られた、コンテナ型の仮想化技術
-
コンテナ自体は、Dockerが登場する以前から存在し、古くから商用製品にも採用されている技術
-
一般的に、Linux OS上での分離された空間を「Linuxコンテナ」と呼び、Linuxコンテナは、一般的に、LXCとも呼ばれる
-
コンテナ・イメージは、
- LinuxのABI (Application Binary Interface)より上の「特定のディストリビューション上で再現されたファイルシステム」から
- VSSでも使用しているCopy on Write(CoW)のスナップショット(差分)の仕組みをUnionFileSystemの機能で実現して、差分で作成する
-
これにより、コンテナ型の仮想化技術を実現している
- システム的にはカーネル共有の単なるプロセスの起動
-
マシン全体を仮想化する仮想化技術と比べると、コンテナによる仮想化は軽量・高速で、実行に必要なリソースも少なくて済む
-
システムの構成変更や展開の容易さなどから、開発段階から実運用環境まで、幅広く利用されている
-
コンテナ上で動作するプログラムは、基本的にはLinuxのバイナリ
-
古いバージョンのDockerは、Linuxコンテナを使っていたため、LinuxコンテナもDockerコンテナも同一のものとして考えても差し支えなかった
-
現在のDockerは、libcontainerを利用するようになり、Linuxコンテナに依存する部分が無くなった
-
このため、LinuxコンテナとDockerコンテナは、同じものではないが、考え方という観点では、LinuxコンテナもDockerコンテナも、同様の分離された空間を提供することには違いがない
参考:
- コンテナ実行環境:軽量で高速なコンテナ
- イメージ管理:レイヤー構造による効率的な管理
- ネットワーク:複数のネットワークドライバー対応
- ボリューム:永続的データ保存
- Dockerデーモン(dockerd)
- REST API
- CLIクライアント(docker)
- 公式イメージレジストリ
- 公開・プライベートリポジトリ
- 自動ビルド機能
- 複数コンテナのアプリケーション定義・実行
- YAMLファイルで設定管理
- 開発環境の簡単な構築
- コンテナイメージの定義ファイル
- コード化されたインフラ(Infrastructure as Code)
- 再現可能なビルドプロセス
- プライベートレジストリの構築
- イメージの保管と配布
docker pull <image> # イメージのダウンロード
docker build -t <tag> . # イメージのビルド
docker images # イメージ一覧表示
docker rmi <image> # イメージの削除docker run <image> # コンテナの起動
docker ps # 実行中コンテナ一覧
docker stop <container> # コンテナの停止
docker rm <container> # コンテナの削除
docker exec -it <container> /bin/bash # コンテナ内でコマンド実行docker network ls # ネットワーク一覧
docker network create # ネットワーク作成
docker network connect # コンテナをネットワークに接続- 環境の標準化と再現性
- チーム間での環境共有
- 複数バージョンの環境並存
- ビルド環境の一貫性
- テストの並列実行
- デプロイメントの自動化
- サービスの独立した実行
- スケーラビリティ
- 障害の分離
- 依存関係を含めたパッケージ化
- クロスプラットフォーム対応
- 簡単なインストール
- Kubernetes:大規模コンテナ管理
- Docker Swarm:Docker組み込みのオーケストレーション
- Open PaaS / CaaS
- Docker On Rasbian:Raspberry Piでの実行
- Docker ネットワーク設定
- Dockerコマンド
- イメージの脆弱性スキャン
- 最小権限の原則
- ネットワークの分離
- シークレット管理
Tags: 移行, Docker, コンテナ, 仮想化
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。