目次
- 1 Dockerの期待と現実
- 1.1 導入前の疑問
- 1.1.1 Dockerは難しい
- 1.1.2 今すぐ始めなくてはいけない
- 1.1.3 すべての環境をコンテナにしなくてはいけない
- 1.1.4 仮想化システムは不要になる
- 1.1.5 構成管理ツール(Chef,Puppet,Ansible等)は不要になる
- 1.1.6 VagrantがあればDockerは不要だ
- 1.1.7 クラウド環境は不要になる
- 1.1.8 クラウド上でなければDockerの価値は無い
- 1.1.9 Windows上でLinuxのコンテナが動く
- 1.1.10 Dockerやコンテナが全てを解決してくれる
- 1.1.11 Dockerがあれば業務効率化できる
- 1.1.12 Dockerがあればコスト削減ができる
- 1.1.13 Dockerやコンテナを使うとベンダーロックインされる
- 1.1.14 いまあるシステムを、Dcokerで作り直さなくてはいけない
- 1.1.15 システム・インテグレータにはコンテナは向かない
- 1.1.16 閉じた環境では使えない・使う意味がない
- 1.2 利用後の困りどころ
- 1.2.1 定番のOSが無い。どれを選ぶか分からない
- 1.2.2 よく落ちる
- 1.2.3 ネットワークが貧弱だ
- 1.2.4 データの可用性が貧弱
- 1.2.5 データベースが重い、使えない
- 1.2.6 データベースやキャッシュサーバの用途にDockerは向かない
- 1.2.7 Dockerはディスク容量を無駄に消費する
- 1.2.8 コンテナが止まるとログが記録されない
- 1.2.9 Dockerfileのビルとに毎回かなり時間がかかる
- 1.2.10 複数のコンテナを立ち上げるのは大変だ
- 1.2.11 マシンを再起動すると、コンテナで動かしていたサービスをまた起動する必要があるので面倒
- 1.2.12 Docker Registryは不安定だ。使い物にならない。可用性が無い
- 1.2.13 英語のドキュメントを読むのが大変だ。日本語の情報が古い
- 1.3 運用面での疑問や課題
- 1.3.1 本番環境では使えない
- 1.3.2 DockerにはSLAが無いから使えない
- 1.3.3 Dockerは冗長化できない
- 1.3.4 Dockerは(運用チームにとって)学習コストが高い
- 1.3.5 商用サポートを受けられない
- 1.3.6 1サーバ1コンテナで運用すべきだ
- 1.3.7 Dockerはkubernetesがないと意味が無い
- 1.3.8 kubernetesがあればDockerやDocker Swarmは不要だ
- 1.3.9 kernelのチューニングができない
- 1.3.10 Dockerはオワコン、これからはrkt
- 1.3.11 DockerではなくCoreOSを使うべきだ
- 1.3.12 Docker環境は監視ができない
- 1.3.13 Dockerの導入事例がない
- 1.3.14 セキュリティや信頼性に問題がある
- 1.3.15 そもそも、Dockerを使う意味が無い
- 1.3.16 Dockerは生産性や効率性に寄与しない
- 1.3.17 5年後10年後もDockerで大丈夫なのか?
- 1.3.18 Dockerには恨み辛みがある
- 1.1 導入前の疑問
Dockerの期待と現実
前佛 雅人(M.Zembutsu)氏のDockerの期待と現実が面白かった。
スライドの最後にDocker都市伝説48の一問一答と技術Tipsがあり、それの自分なりの答えを書いてみようと思った。
導入前の疑問
Dockerは難しい
最低でもLinuxの知識が必要だね。
今すぐ始めなくてはいけない
そうなの?それじゃ始めよう。
すべての環境をコンテナにしなくてはいけない
ご自由にどうぞ。私は全部コンテナ化はしないけどね
仮想化システムは不要になる
技術の流行り廃りはあるからね。一時不要になって、また必要になったりするかもね
構成管理ツール(Chef,Puppet,Ansible等)は不要になる
不要と思うなら使わなければ良いよ
VagrantがあればDockerは不要だ
必要ないなら使わなければ良い
クラウド環境は不要になる
クラウド環境ってOpenStackみたいなことかな?Dockerと関係なくない?
クラウド上でなければDockerの価値は無い
local環境のDockerも便利だよ
Windows上でLinuxのコンテナが動く
Hyper-v、virtualBox上だけど動くね
Dockerやコンテナが全てを解決してくれる
Docker=猫型ロボットじゃないよ
Dockerがあれば業務効率化できる
向き不向きがあるから一概には言えないよ
Dockerがあればコスト削減ができる
比較対象が不明だけどDockerが最善のコスパ対策として考えるのは間違いだよ
Dockerやコンテナを使うとベンダーロックインされる
Dockerを使ってない今でもベンダーロックインされてるよ
いまあるシステムを、Dcokerで作り直さなくてはいけない
Docker化してもいいし、新しくシステムを作ってもいいじゃないかな
システム・インテグレータにはコンテナは向かない
向かないなら使わなければ良いね。
閉じた環境では使えない・使う意味がない
DockerHubは使えないけどlocalにpullしとけば問題ないよ
利用後の困りどころ
定番のOSが無い。どれを選ぶか分からない
OSと言う概念は捨ててアプリを動かす土台だと思えばいいよ。
よく落ちる
落ちたことがないから分からない
ネットワークが貧弱だ
貧弱だと思ったことがないから分からない
データの可用性が貧弱
volumeをちゃんと理解してる?
データベースが重い、使えない
それじゃDBは物理サーバーにインストールだ
データベースやキャッシュサーバの用途にDockerは向かない
それじゃDB、キャッシュは物理サーバーにインストールだ
Dockerはディスク容量を無駄に消費する
不要なimage、volume、containerを削除してる?
コンテナが止まるとログが記録されない
OSが止まるとログが記録されないよね
Dockerfileのビルとに毎回かなり時間がかかる
変更箇所からは時間がかかるね。上からきれいに書いていくとスムーズに済むよ
複数のコンテナを立ち上げるのは大変だ
Docker-composeを使うと命令1つだよ
マシンを再起動すると、コンテナで動かしていたサービスをまた起動する必要があるので面倒
そういう設定にしているからだよ。つ「always true」
Docker Registryは不安定だ。使い物にならない。可用性が無い
そうなの?なら使わなければ良いじゃん
英語のドキュメントを読むのが大変だ。日本語の情報が古い
同意
運用面での疑問や課題
本番環境では使えない
本番環境で稼働中...
DockerにはSLAが無いから使えない
アプリにSLA保証しているものってあるの?
Dockerは冗長化できない
できるよ
Dockerは(運用チームにとって)学習コストが高い
Dockerfile、docker-compose.ymlを作るは大変だね。
商用サポートを受けられない
あるよ。
1サーバ1コンテナで運用すべきだ
贅沢な使い方だね
Dockerはkubernetesがないと意味が無い
なぜ?選択肢はたくさんあるよ
kubernetesがあればDockerやDocker Swarmは不要だ
不要なら不要なんだね
kernelのチューニングができない
kernelレベルのチューニングをしたことがない...
Dockerはオワコン、これからはrkt
それじゃrktを使おう
DockerではなくCoreOSを使うべきだ
アプリとOSを比べるって難しいね
Docker環境は監視ができない
できるよ
Dockerの導入事例がない
世界が狭すぎる><。契約の関係上口外できないんだよ><
セキュリティや信頼性に問題がある
変な設定にしてたらセキュリティは危ないね。Dockerに限らないけど
そもそも、Dockerを使う意味が無い
メリットがないなら考えるだけ時間の無駄だよ
Dockerは生産性や効率性に寄与しない
学習コストと言うリスクを取らないとね
5年後10年後もDockerで大丈夫なのか?
もしかしたら5年後10年後にはWindowsもMacも無くなっているかもね
Dockerには恨み辛みがある
更年期障害?取り敢えず寝よう。