Dockerについてあれこれ
最近Dockerでローカル環境を構築したりしてるので、ここまでに調べた事・気づいたことについて私的メモ的にまとめておきます。
【はじめに】私のDocker歴について
2ヶ月未満(思いっきり初心者です)
この記事ではあまり詳しい事は書きません。(書けません)
Dockerってどんな感じなの?ざっくりとさわりを教えて?って人向けです。
なぜDockerを使い始めたのか
MacでOracleを使ったローカル開発環境を組もうと思ったら、他に選択肢がなかったから。
Dockerのいいところ
・仮想化ではないらしい
仮想化では無く、コンテナ化技術。らしい。
仮想化みたく固定でメモリとCPUを確保したりはしない。
OSのインストールから構築を始めなきゃいけないわけでもない。
docker pullコマンドで使いたいコンテナイメージを持ってきて、即座に立てられる。
・ほぼ仮想化っぽく使える
コンテナの中では独立したLinuxが動く仕組み。
コンテナ内に入ってCUIでLinuxいじったりももちろんできる。
・ホストのディスクマウントが簡単
ホストOS内にあるディレクトリをコンテナ内から読み書きできるようにマウントできる。
これによって、ソースコード自体はホスト側に置いておき、コンテナでは実行のみ行うことが可能。
こういう方式にして、コンテナは使い捨てしても構わないように使うことが推奨されてるっぽい。
Dockerのよくわかってないところ
・仮想化ではない
割とホストマシンの影響を受けるらしい。
同じコンテナがどこの環境でも同じように動作するわけでは無いって物みたい。
・マネタイズされていない?
Docker開発元の団体がうまく利益化できていないとかなんとか・・
(まとまってなくてすみません、詳しくは最新情報をググった方がいいと思います。)
一方でコンテナ技術自体は利用価値が高いとされているのか、
Google等が独自に研究していて、Dockerは太刀打ちできないかもしれない、らしい。
(らしいばっかりですみません、常に状況変わってくる話でもあるので、関心がある方は調べて見てください)
Dockerってどこまでの領域で使えるの?
ひょっとしてこれからの時代は、
ローカルから本番まで全ての環境をDockerで構築してローカル環境のコンテナをそのまま持っていけばデプロイ完了だぜ!
みたいな世界になるのか?と妄想しました。
そして先人はどう考えているのか調べました。
ならないらしいです。
詳しくは割合しますが、この記事によるとDockerのコンテナ技術というのはそもそも。
https://postd.cc/docker-in-production-an-update/
「俺のマシンでは動いたよ、だからどこでも動くはずだ」
と言い切っていいような物ではないらしいです。
そんなことを考えるやつはアマチュアだ!と、書いてありました。
私はこれでもプロのグラマーなので、アマチュア呼ばわりされるような甘ちゃんな考えは捨てなければいけません。
引き続き
ローカル環境でDocker使っていこうと思うので、また追加ネタがあれば書いていきます。