0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitとDockerの世界のわけかたの違いをイメージ図にしてみた

Posted at

何の記事?

GitとDockerはどっちも管理ツールで、開発環境──世界を分けてくれるものだけど、その分け方ってちょっと違うよね……という感覚がつかめて来たので、可視化することにしました。

誰向け? どんな役にたつ?

  • Gitってどんなもの? Dockerってどんなもの?……をふんわり知りたい人
  • 結局それを使うと何が嬉しいの? が知りたい人

Gitとは

元の世界から並行世界を作り出すイメージです。
元々は1本の世界だったものから、枝わかれした世界を増やします。
元の世界が同じなので、ひと段落したら合流したり、また別れたりします。

Gitがないと

いつでも綺麗な状態を見せられるようにしたい本番環境と、開発用の環境がわけられず、定期的なバックアップだよりのみ……などになります。

Gitで管理をして置くと、AIコーディングをする際にも変更前にセーブしておいて、コーディングが出来上がったら差分を確認して……などの使い方もできます。
やっぱりあの時のままがよかったな……と思えば、その地点まで戻って開発し直す……ということも簡単にできます。

Dockerとは

Gitと違って完全に違う異世界を作り出すイメージです。
コンテナごとに独立した世界で、後から合流したり、世界の一部が分離されることはありません。

世界を作る設定ファイル──Dockerfileやcompose.yml──が似ている場合、ほぼ同じような世界ができることもあります。
広めの土地が開いたと思ったら、屋根が違う家が複数軒建った……みたいな。
ただし、あくまでも違う家なので、いきなり他人のお隣さんとくっついて暮らし始めたりはしません。

Dockerがないと

お客さんごとに開発環境が異なる場合、変な影響が出ないようにインストールしなおしたり……などが必要になる場合があります。
後は、手順書に沿って自分のPCに環境構築をしようとしたのに、先輩のPCでは動いて、自分のPCでは動かない……など、構築に手間取ったりすることがあります。

Dockerでの環境構築だと、誰がどのPCに入れても同等の環境が構築されるので、設定ファイルの共有のみで済み、便利です。
また、言語を直接PCにインストールするのではなく、バージョンも含めてコンテナでインストールして、サンドボックスとして使うこともできます。
Dockerコンテナは気軽に作って気軽に壊せるのが強みです。

結論

GitもDockerも、それ単体で何かをするツールではありませんが、開発を支えてくれる便利ツールです。
複数人で使うことも想定されていますが、一人開発の場合でも、自分が作った環境や辿った形跡を残していけるので、管理をツールに任せて、その分空いた脳のメモリを開発作業に充てることができます。

この記事では本当にフワっとしたイメージの話のみですが「そんなことできるんだ?すごい!」……と思った方は是非是非活用してみてください。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?