プログラミング

【DockerDesktop】について

概要

本記事ではmac環境でのDocker Desktopのダウンロード方法と大まかな使用法について、記載します。
(windows環境の方済みません!)

Dockerとは

巷によく聞く「Dockerとは」を簡単に説明する為、以下ChatGPTに出力させてみました。

ズバリDockerは、アプリをどこでも動かせる便利な箱のようなものです。

たとえば料理で例えると...

カレーを作るとき、レシピ、材料、調味料、調理器具が必要ですよね?でも、友達の家でカレーを作ろうとしたら、「鍋が違う」「スパイスがない」など、同じように作れないことがあります。

Dockerはこれを解決します!

カレー作りに必要なもの全部(レシピ、材料、調理器具)を1つの箱に詰めて持ち運ぶイメージです。だから、どこの家でも、その箱を開ければ同じカレーが作れます。

ITの世界ではどういう意味?

アプリを動かすには、プログラムだけでなく、そのプログラムが動くための特別な環境(設定やソフトウェア)が必要です。

普通だと、環境が違うとアプリが動かないことがあります。でも、Dockerを使うと、

  • アプリ
  • 必要な設定やソフトウェア

これらを1つの箱(これを「コンテナ」と呼びます)にまとめられるので、どんなコンピュータやサーバーでも、箱を開けるだけで同じアプリを動かせます。

Dockerを使うと何がいいの?

  • 簡単に持ち運べる: 作ったアプリを別の人や会社のコンピュータでも動かしやすい。
  • どこでも同じように動く: 「ここでは動くのに、あっちでは動かない!」という問題がなくなる。
  • 効率的: 1つのコンピュータでたくさんの箱(アプリ)を同時に動かせる。

具体的にどう使われているの?

  • 映画を見るアプリや音楽を聴くアプリを動かすために、開発者がDockerで環境を整えている。
  • ウェブサイトやスマホアプリを作る人たちが、作業を効率化するために使っている。

とのことです!すごいわかりやすい!

あなたが作成したアプリをサーバー、または他の人のPC上で動かしたい場合、この便利な箱をその環境に持ってくだけで動かすことができるというわけです!

Docker Desktopをダウンロード

ではお使いのPC上でDockerを扱うためのツール、Docker Desktopをダウンロードしてみましょう。

Docker Desktopサイトに遷移して「Download Docker Desktop」ボタンからお使いのOSにあったものをダウンロードしましょう。Intel ChipかApple Siliconかわからない場合は画面左上のりんごマークから「このMacについて」を選択し、確認することができます。

「Download Docker Desktop」ボタン
このMacについて

この場合Apple M3を使ってるので、Apple Siliconを選択。Intelの場合、チップの部分にIntelが記載されているはずです。

ダウンロードしたら早速起動してみましょう!

Docker Desktop画面

Docker Desktopを起動すると以下画面が表示されるかと思います。

Docker Desktop画面

ここで見ておくのは左側にあるメニューの内容です。
以下簡単に纏めました。

Containers 起動中のDockerコンテナが確認可能
Images 作成orダウンロードしたDockerコンテナのイメージが確認可能
コンテナのイメージとは、アプリケーションとその動作に必要なソフトウェアや設定を一式まとめたテンプレートのようなものです。このイメージを元にコンテナを作成します。
Volumes コンテナをコンテナとホスト間でデータを永続的に保存・共有する仕組みです。
通常起動しているコンテナを停止するとそのコンテナ内で保存されたファイルは削除されますが、ボリュームを設定することでその事象を回避するできます。コンテナが削除されてもデータを保持できるため、データベースや設定ファイルの保存に利用されます。

dockerコマンドについて

Docker Desktopからでもコンテナを起動することができますが、通常はdockerコマンドを使用してコンテナ起動/停止、その他処理を行います。以下リンクからDockerコマンド一覧を確認することができます。

Dockerコマンド

dockerコマンドを実行するにはDocker Desktopを起動しておくことが必須です。

以上、ざっくりとしたDockerの説明とDocker Desktopのダウンロードを行うことができました。
いきなり全て理解するのは難しいので、ゆっくりと理解を深めていきましょう!

ハンズオンとして、以下記事を挙げておきます。

スポンサーリンク

  • この記事を書いた人

かず

バックエンド/フロントエンド/クラウドインフラのフルスタックエンジニア | デジタルノマド(‘23/6〜) で世界放浪中 | 主にプログラミングに役立つ情報を発信 | Xでは旅の様子を発信

-プログラミング
-,