webエンジニアの気づき

都内ベンチャーでwebエンジニアとして働く著者が、web開発における気付きをまとめています。golang,railsやVue.js(Nuxt)を主に利用。

dockerとは?ゆるーく解説していくよ

f:id:k-enter:20210415075141p:plain

dockerとは

物理マシンのOSを共通に使いながら、その上にコンテナというアプリごとの環境を作り上げることのできるツールです。 各アプリごとの環境は、各サーバーごとに一つの環境を作らなければなりませんんでしたが、dockerを使えば一つのOSで複数の分断された仮想の環境を作り上げることができるわけですね。

どんな時に使う

アプリを作るときなど、開発環境を整える際に利用します。 近年のweb系企業などの多くが利用しています。

メリット

・pcなど個々人の異なる開発環境でも、同じ環境を構築しやすい。 ・作ったコンテナを元にそのままクラウドサーバーなどにのせやすい。 ・OSを共通で利用しているため、軽量である。

デメリット

・dockerの利用に必要な知識も多いので、その勉強をしなければいけない。 ・インフラやネットワーク周りの知識が一部必要になる。