「Docker」の版間の差分
ナビゲーションに移動
検索に移動
(→コマンド) |
(→コンテナ) |
||
45行目: | 45行目: | ||
**システムコンテナ | **システムコンテナ | ||
**アプリケーションコンテナ | **アプリケーションコンテナ | ||
+ | ===システムコンテナ=== | ||
+ | *仮想マシンとよく似た動きをし完全なブートプロセスを実行 | ||
+ | *通常の仮想マシンに含まれるのと同様な、ssh,cron,syslogといったシステムサービスが含まれる | ||
+ | ===アプリケーションコンテナ=== | ||
+ | *通常はアプリケーションを一つだけ動かすと言う点でシステムコンテナとは異なる | ||
+ | *コンテナ一つに対して一つしかアプリケーションを動かさないのは余計な制約に見えるかもしれないが、スケーラブルなアプリケーションを構築するためには適切な細分化の単位 | ||
+ | *[[Kubernetes]]のPodによってうまく活用できるデザイン哲学にもなっている | ||
==[[Docker コマンド|コマンド]]== | ==[[Docker コマンド|コマンド]]== |
2020年9月12日 (土) 14:51時点における版
目次
Docker
| 仮想化 | Kubernetes |
インストール
設計
1コンテナにつき1プロセス
- 最も大事な観点。複数プロセスは非推奨
イミュータブルなインフラストラクチャイメージにする
- コンテナイメージはバージョン管理できるため、コンテナ実行後ではなく、コンテナイメージに実行バイナリやリソースを可能な限り埋め込むようにする
軽量なDockerイメージにする
- ノード上に使用するイメージがない場合、外部からダウンロードする必要がある
- キャッシュなどの削除、Alpine Linuxなど軽量なディストリビューションの利用
実行ユーザーをroot以外にする
- コンテナない実行ユーザーの権限を最小化
Dockerfile
FROMでベースイメージを指定して、RUNやCOPYなどのコマンドでイメージを作成する
- Dockerfile
FROM ubuntu:latest
- 実行
$ sudo docker build .
- 確認
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 4e2eef94cd6b 9 days ago 73.9MB
コンテナ
- コンテナは2つのカテゴリに分類
- システムコンテナ
- アプリケーションコンテナ
システムコンテナ
- 仮想マシンとよく似た動きをし完全なブートプロセスを実行
- 通常の仮想マシンに含まれるのと同様な、ssh,cron,syslogといったシステムサービスが含まれる
アプリケーションコンテナ
- 通常はアプリケーションを一つだけ動かすと言う点でシステムコンテナとは異なる
- コンテナ一つに対して一つしかアプリケーションを動かさないのは余計な制約に見えるかもしれないが、スケーラブルなアプリケーションを構築するためには適切な細分化の単位
- KubernetesのPodによってうまく活用できるデザイン哲学にもなっている
コマンド
ネットワーク
© 2006 矢木浩人