Created
March 9, 2018 15:01
-
-
Save mhagiwara/01a6783f976e5dd26ab3121474062dc3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## MEMO: Introduction to Docker | |
https://www.youtube.com/watch?v=Q5POuMHxW-0 | |
- docker (dotCloud - platform as a service, Heroku の競合) | |
- サーバーにコードを出荷するのが難しい → 簡単であるべき! | |
- 昔 サーバー+LAMP 、現在はもっと複雑(異なる言語、構成、プラットフォーム) | |
- 各コンポーネント x プラットフォームのマトリックス 全ての組み合わせでテストが通り、期待通り動く | |
- 昔、同様の問題に着想 → 運搬する物 x 物の種類 のマトリックスに似ている → コンテナ! | |
- 開発者 → docker (標準コンテナフォーマット) → Ops (運用) | |
- VM ← ... → バイナリ、JAR、Python パッケージ | |
- 例:JAR → どうやって扱うか分かっている。他の部分が全て整っているのが前提。特定のバージョンに依存する場合は? | |
- 例:VM → マシン全体を出荷。大きい、オーバーヘッド。10個コンポーネントがあれば10個の VM が必要 | |
- Linux のカーネルの進化によって、プロセスをサンドボックス内で動かすことができる | |
- デモ | |
- docker ps (プロセス) | |
- docker run | |
- docker commit → 現在の情報を保存 | |
- docker push → images.docker.io にアップロード | |
- Ubuntu のファイルシステム全体なのになぜ速いか? | |
- 差分だけを保持しているから copy-on-writes | |
- 100台のサーバーに出荷 | |
- diff だけを送る | |
- ほとんどの場合、アプリケーション層だけ | |
- -p → ポートをデフォルトで開ける ホストのポートにマッピング | |
- ZooKeeper などを置き換えるものではない ネットワーク越しに通信しない |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment