【初心者向け】Dockerとは何か?Docker Desktopのインストール方法を実例で解説(Windowsの場合)

docker-prograshi(プロぐらし)-kv Docker
記事内に広告が含まれていることがあります。

近年、エンジニアにとって必須スキルとなりつつあるDocker。しかし、Dockerと聞いてもイマイチピンとこないと感じている方も多いかと思います。

この記事では、Dockerとは何か?やDockerを実際に使う方法、Docker Desktopのインストール手順を一つひとつ解説しています。



Dockerとは何か?

Docker(ドッカー)とは、アプリを動かすための箱(コンテナ)を作って動かす仕組みです。


なぜDockerを使うのか?

アプリを動かすには、OSの設定やライブラリ、バージョンなどのパソコンの環境をそろえる必要があります。

そうした場合に、「自分のパソコンでは動くのに、他の人のでは動かない…!」ということが起こります。

Dockerを使うと、アプリとその動作に必要な環境をまるごとひとつの箱(コンテナ)にまとめて動かせます。

つまり、どのパソコンでも同じように動くようになります。

特に、インストール作業がほとんどいらない使い捨ての環境なのですぐに作ったり壊したりできるというメリットがあります。


Dockerを使う方法|Dokcer Desktopとは何か?

Dockerを使うには、PCに「Dokcer Desktop」という公式アプリを入れます。

Docker Desktopとは、WindowsやMacでDockerを使えるようにするソフトです。


WSL2のインストール

WSL2とは何か?

WindowsでDocker Desktopを使うにはWSL2をインストールする必要があります

WSL2とは、Windows上で完全なLinux環境を動作させるための機能です。

※DockerはLinuxカーネルを必要とするため、WSL2のインストールが必須となります。

MEMO

WSLとは、「Windows Subsystem for Linux」の略で、WSL2はその新しいバージョンです。


インストール方法

WindwosにWLS2をインストールする方法は簡単です。PowerShellで以下のコマンドを実行するだけです。

wsl --install


なお、WSL2と同時にUbuntuインストールする必要があります。詳細は下記をご参考ください。


Docker Desktopのインストール方法

Docker Desktopをインストールするには公式サイトにアクセスします。

Docker Desktopダウンロードサイト


自分のPC似合うファイルをダウンロードします。

MEMO
  • WindowsでIntelやAMDのCPUを使っている場合は「AMD64」を選択します。
  • Qualcomm(クアルコム)社のSnapdragonの場合は「ARM64」を選択します。



ダウンロードした「Docker Desktop Installer.exe」を実行します。

ショートカットを追加するかを選択し「OK」をクリックします。


インストールが完了したら「Clean & Restart」をクリックします。

PCが再起動します。


サブスクに登録するか聞かれます。不要なので「Close」をクリックします。


Docker Desktop(GUI)が起動します。


Dockerをコマンドラインで使う

DockerDesktopを起動すると別ウィンドウが立ち上がります。そこでもDockerの操作はできますが、Dockerはコマンドラインで使うことが一般的です。

ここではDockerをコマンドラインで使う方法を簡単にご紹介します。


Dockerのインストール/バージョンチェック

Dockerが正しくインストールされているか確認します。

docker --version

バージョンが表示されれば、Dockerが正しく認識されています。


確認用コンテナの起動

次に、Dockerの動作確認として、公式が提供しているシンプルなコンテナイメージを実行します。

docker run hello-world

以下のように「Hello Docker」と表示されたらOKです。Docker Desktopが正しく起動しています。



ブラウザに表示するタイプのコンテナの確認

上記はコマンドライン上でコンテナの動作を確認するものでした。

よりわかりやすい動作確認としてWEB上で機能する確認用コンテナも用意されています。

docker run -d -p 80:80 docker/getting-started
  • -d: コンテナをバックグラウンド(デタッチモード)で実行します。
  • -p 80:80: ホスト(あなたのPC)のポート80を、コンテナのポート80にマッピングします。


「パブリックネットワークとプライベートネットワークにこのアプリへのアクセスを許可しますか?」と表示されたら「許可」をクリックします。


「http://localhost」にアクセスすると、Dockerのチュートリアルページが開きます。



コンテナを停止する

上記で起動したコンテナを停止します。

まずはdocker ps でコンテナの一覧を表示します。(docker psは、デフォルトでは現在実行中「Up」 または「Running」のコンテナのみを表示するコマンドです)

docker ps
CONTAINER ID   IMAGE                    COMMAND                   CREATED         STATUS         PORTS                                 NAMES
d1dc4ca0e7ea   docker/getting-started   "/docker-entrypoint.…"   6 minutes ago   Up 6 minutes   0.0.0.0:80->80/tcp, [::]:80->80/tcp   interesting_lederberg


コンテナのID(CONTAINER ID)、または名前(NAMES)を確認したら「docker stop」でこれを止めます。

docker stop d1dc4ca0e7ea
MEMO

コンテナIDは、完全に入力しなくても、先頭の数文字(例: d1dc)で一意に識別できれば動作します。

注意点

コンテナを停止するコマンドには「docker kill」もあります。これは、強制的に停止で、データが保存されていない可能性があるため、通常は使用しません。



コンテナを削除する

「docker stop」で停止した後、そのコンテナは停止状態(Exited)として残っています。ディスク容量を節約するため、不要であれば削除することを推奨します。

docker ps -aでコンテナ一覧を表示します(停止中や終了中も含めた全てのコンテナを表示します)

docker ps -a
CONTAINER ID   IMAGE                    COMMAND                   CREATED          STATUS                      PORTS     NAMES
d1dc4ca0e7ea   docker/getting-started   "/docker-entrypoint.…"   14 minutes ago   Exited (0) 5 minutes ago              interesting_lederberg
e2a7f8ba23bc   hello-world              "/hello"                  17 minutes ago   Exited (0) 17 minutes ago             practical_bell

ここでは「d1dc4ca0e7ea」と「e2a7f8ba23bc」のコンテナがあります。

どちらも先ほど確認用に作成したものなので削除します。

削除は「docker rm」コマンドを使います。

docker rm d1dc e2a7f
d1dc
e2a7f


以上でDocker(Desktop)のインストールと動作確認は完了です。


Docker Desktop GUI

Docker Desktopを起動すると立ち上がるウィンドウでもDockerの操作をすることができます。

先ほどコマンドラインで作成したコンテナや、コンテナ作成時にインストールしたイメージ一覧などが表示され、起動・停止・削除などの操作をすることができます。


特に初めて使う人には「今何が動いているのか」を視覚的に把握するのに役立ちます。

タブ主な機能CLIでの対応コマンド
Containers実行中・停止中のコンテナを一覧表示し、開始、停止、削除、ログの確認、ターミナルの起動などをボタン一つで実行できます。docker ps -a, docker start/stop/rm, docker logs, docker exec
Imagesローカルにダウンロードされているイメージ(コンテナの元となるファイル群)を一覧表示し、不要なものを削除できます。docker images, docker rmi
Volumesコンテナのデータを永続化するためのボリュームを管理し、中身の確認や削除ができます。docker volume ls/rm
SettingsDockerエンジンの設定(リソース制限、Docker Hubへのログイン情報、Kubernetesの有効化など)を簡単に変更できます。設定ファイル(JSON)の編集、docker login
タイトルとURLをコピーしました