Dockerとは?

テクノロジー

技術的なお話シリーズ(浅い)

たまに目にする「Docker」って何よ?

Dockerとはコンテナイメージです。

例えば開発でMySQL入れるとなると、PC自体にインストールして、色々設定して使えるようにします。

Dockerだと、インストールは必要ありません。MySQLのコンテナイメージをダウンロードして、Docker用の設定ファイルをいじって起動するだけです

不要になったらイメージを破棄するだけです。

他の人にも共有したいときは、設定したDockerイメージを配布するだけで、すぐに環境が再現できるところが優れていますね。細かい手順書とかいらないのです。

仮想化ソフト(VMWareとか)と何が違うの?

これまでの仮想化ソフトは、「仮想OS」というのを立ち上げて、その仮想OS上で色々やります。

そのため、起動や動作も重いし、共有イメージもサイズが大きくなります。

また、仮想OSに対してもネットワークとか普通のOSに対して行う設定も必要になります。

DockerはこのOS部分は、使用してるPCのOS(ホストOS)を使用します。ですので、細かいことは考えなくてもできます。

そして仮想OSが不要なので、コンテナイメージは軽量です。

開発して作成したコンテナイメージでのデプロイも可能

AWSのECS、EKSなどのサービスを利用することで、自分の開発したシステムをコンテナイメージにして利用できます。

デプロイ方法だとか、WebサーバだPHPのバージョンがなんだっていう管理をすっ飛ばして、開発してた状態のまま運用できます。

また、イメージを更新したらそのまま適用できるので、アップデートの手間が非常に少ないです。

ただまあEC2とかの利用と比べると料金が高めですね。管理費浮くのでトレードオフですが。

これからの主流なので必須技術!

コンテナイメージの利用は現在主流ですし、今や必須技術です。

すごく簡単にできるようになっているので、ぜひ試してみてください。

タイトルとURLをコピーしました