[Docker]Docker Desktop for Macをインストールする

Docker Desktop for Macをインストールする。意外とインストールは簡単なので、動作確認まで記載する。

環境

macOS Big Sur 11.6 (Chip: Apple M1)

インストール方法

ダウンロード

以下のサイトからダウンロードする。

Docker Desktop for Mac ダウンロード

Intel chipとApple chipで異なるので、PCにあったものをクリックする。

Chipがどちらか分からない場合は、Mac左上のアップルマークから「About This Mac(このMacについて)」をクリックするとChipの情報が確認できる。

以下の場合は、ChipがAppleであることがわかる。

インストール

ダウンロードしたdmgをファイルをダブルクリックして実行すると、以下のような画面がファインダー上に現れるので、Applicationsフォルダへドラッグ&ドロップする。

上記の作業でインストールが開始されるので、終わるまで待つ。

米国AI開発者がゼロから教えるDocker講座

起動

インストールが完了したら、ApplicationsフォルダにあるDockerをダブルクリックして起動する。

※以下のポップアップが出た場合、「開く」をクリックする。

※以下のポップアップが出た場合、「OK」をクリックする。

※以下が出た場合、Macのアカウントパスワードを入力して「ヘルパーをインストール」をクリックする。

数十秒待つとちょっぴり可愛いイラストの「サービス契約が変更されてまっせ」画面が出てくることがあるので、こちらも目を通りして、「Accept」をクリックする。

以下のような画面が出れば、dockerは起動されている状態である。

※「Docker Engine starting…」と表示される場合は、まだ起動中。

動作確認

上記の画面にあるdockerコマンドをTerminalで打ってみる。

docker run -d -p 80:80 docker/getting-started

以下のような出力となる。

Unable to find image 'docker/getting-started:latest' locally
latest: Pulling from docker/getting-started
be307f383ecc: Pull complete 
bcbca5debd8f: Pull complete 
b01ce6b852e5: Pull complete 
82b5e1c8a205: Pull complete 
a03caadc034c: Pull complete 
32ccf701d239: Pull complete 
ad05f374a3d4: Pull complete 
377fcc7dfb96: Pull complete 
Digest: sha256:XXXXXXXXXXXXXXXXXXXX25edb77689c8eecf8ed0cb3946573a24a6f71e88cf80
Status: Downloaded newer image for docker/getting-started:latest
a18b04aadc33XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

以下のコマンドでイメージが存在しているかどうか確認。

docker images

以下のコマンドでコンテナが起動しているか確認

docker ps

確認結果例は以下のようになる。

% docker images                                
REPOSITORY               TAG       IMAGE ID       CREATED       SIZE
docker/getting-started   latest    720f449e5af2   5 weeks ago   27.2MB
 % docker ps
CONTAINER ID   IMAGE                    COMMAND                  CREATED         STATUS         PORTS                NAMES
a18b04aadc33   docker/getting-started   "/docker-entrypoint.…"   4 minutes ago   Up 4 minutes   0.0.0.0:80->80/tcp   angry_ardinghelli

イメージはdocker runコマンドで指定したdocker/getting-startedが存在していることがわかる。またdocker psコマンドでは、docker runコマンドの出力の最後にある「a18b04aadc33…」とCONTAINER IDが一致しているので同じものであることがわかる。そのSTATUSがUpになっているため、コンテナは正常に起動している。

以下のコマンドでコンテナをストップする。

docker stop <CONTAINER ID or NAMES>

以下のように停止する。

 % docker stop a18b04aadc33
a18b04aadc33

コンテナを停止すると、docker psコマンドには現れなくなるが、停止されただけで削除はされていない。この場合、-aオプションで確認することができる。

docker ps -a

以下のように出力され、StatusがExitとなっているため、停止されているコンテナと判断できる。

 % docker ps -a
CONTAINER ID   IMAGE                    COMMAND                  CREATED         STATUS                      PORTS     NAMES
a18b04aadc33   docker/getting-started   "/docker-entrypoint.…"   8 minutes ago   Exited (0) 42 seconds ago             angry_ardinghelli

以下のコマンドでコンテナを削除する。

docker rm <CONTAINER ID or NAMES>

以下のコマンドでイメージを削除する。TAGがlatestの場合は省略可能。

docker rmi <REPOSITORY>:<TAG>

以下のように実行する。

 % docker rm a18b04aadc33
a18b04aadc33
 % docker rmi docker/getting-started:latest
Untagged: docker/getting-started:latest
Untagged: docker/getting-started@sha256:86093b75a06bf74e3d2125edb77689c8eecf8ed0cb3946573a24a6f71e88cf80
Deleted: ...
...

docker imagesとdocker ps -aコマンドを再度実行すると、上記のイメージとコンテナは削除されているため表示されないことがわかる。

以上で動作確認は個人的には完了。