LoginSignup
3
2

More than 1 year has passed since last update.

Dockerってなんで使うの?メリットは?

Posted at

Dockerってなんで使うの?

プログラミングを始めたばかりの人や、実務経験がない方は同じ疑問を持っていると思います。
僕も同じく、実務を始めるまでは、Dockerを使う理由やメリットが分かりませんでした。
「ただめんどくさいだけじゃない?」
こんな感じでした。
しかし、いざ実務でDockerを使うと、最初はコマンドや仕組みを覚えることが面倒ですが、どんどんDockerの凄さを実感します。
そこで、以下では僕が感じたメリットについて書きます。
Dockerのコンテナやイメージというような言葉は使いません。
そのため、知っている人は「これはコンテナのことだな」のように考えて読んでみてください。

Dockerを使うメリット

データやプログラムを分けられる

これはDockerの性質でもあり、メリットとも言えます。
これを読んでも、初心者や未経験の場合は
「分けられるからどうしたの?」
となりますよね。
では、想像してください。
就職・転職に成功して、A社で働くことになり、あなはそのA社で2つのプロジェクトに関わることが決まっています。
しかし、各プロジェクトで開発環境が異なります。
さて、あなたはどうしますか?
初心者や未経験の8割以上は、パニックですよね。
そこで、Dockerを使うことで、開発環境を分けられます。
このように、個人開発では気にする必要がなかったことでも、どこかの組織に入ると気にする必要が出てくるものがあります。
Qiitaの個人開発の記事を見ると、Dockerを使っている人を見かけることがありますが、ほとんどの初心者は使っていません

他人と同じ開発環境にできる

これも個人開発ではあまりに気にする必要がないことです。
まず前提として、チームで開発する場合は、開発環境を同じにする必要があります。
それはそうですよね、AさんはRubyのバーションが3.1.1だけど、Bさんは2.6.9を使っていますだと、一緒に開発できないですよね。
では、どのようにその開発環境を同じにしますか?
わざわざ集まって、「これのバージョンはこれで...」のように話し合うのは面倒ですよね。
そこで、Dockerの機能を使うと、全員同じ環境に設定できます。
上記でデータやプログラムを分けられると書きましたが、その分けたものを他の開発者に配ることができます。
それによって、チーム全員が同じ開発環境に設定でき、また、関わるプロジェクトによって、開発環境を変えることで、スムーズに開発できます。

環境を汚さない

開発マシンにミドルウェアを入れていくと、把握していない依存ライブラリがインストールされます。
そのときはOKかもしれませんが、後々、依存ライブラリが原因で、新しいものをインストールできなくなる可能性があります。
そこでDockerを使うと、ローカル環境を汚さずに、インストールできます。
なぜの部分に関して知りたい場合は、Dockerの仕組みについて調べてみてください。
ここでその話を書くと、本の1章分ぐらい必要ですので。

まとめ

Dockerを使うメリットは、以下の通りです。

  • データやプログラムを分けられる
  • 他人と同じ開発環境にできる
  • 環境を汚さない

もし「こんなメリットもある!」「逆にこんなデメリットも存在するよ」「ここ間違ってるよ」などがあれば、コメントで教えてください。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2