0086Be名無しさん
2018/12/27(木) 04:25:05.59物理マシンでも仮想マシンでも作ったらOSをインストールしないといけないだろ?
CentOSとかDebianとかUbuntuとか
その上でアプリを動かそうとしたら、アプリに必要なパッケージを入れて
Rubyなどの実行環境を整えてから動かすだろ?
だけどディストリごとにパッケージ名は違うし設定内容とかも違う
いろんな物理マシン・仮想マシンで自分で作ったアプリを動かそうとしたら
それぞれ違う手順が必要になり大変なわけだ
Dockerを使うとアプリを動かすのに必要なもの、(カーネルを除いた)パッケージから
ライブラリから言語から全部Dockerイメージにまとめてしまえる。
ディストロのパッケージ入れて実行バイナリを起動する代わりにDockerコンテナを起動する
Dockerコンテナ=アプリと思えばいい
カーネル以外の全てがDockerイメージにまとまってるから、CentOSでもDebianでもUbuntuでも
Windows(上のDocker専用のLinuxベースの仮想マシン)でも
Mac(上のDocker専用のLinuxベースの仮想マシン)でも
クラウドで用意されたDockerコンテナ専用の軽量仮想マシンでも同じように動く
Dockerイメージを動かすのに必要なのは、対応したLinuxカーネルとDockerのみ。
これだけ満たしていれば、いろんな環境に簡単にデプロイ出来るようになる。
(主に自分で開発したアプリを)