614 文字
3 分
MacでDockerでHello Worldするまで
2023-01-02
2023-01-05

今更ながらDockerを使う機会が出てきたので、Hello World的なDokerfileを作って実行するまでの備忘録です。

環境#

メイン機はWindowsで、MacはサブPCとして使っているので古めのスペックです。

  • PC : MacBook Air (13-inch, Early 2015)
  • OS : macOS Monterey 12.6.2
  • CPU : Intel Core i5 (x86)

Docker Desktopのインストール#

MacにDocker Desktopをインストールしていきます。homebrewでもインストールできるようですが、とりあえずは公式ドキュメントに従ってインストールしていきます。(今回はDocker DesktopのGUIは使いませんが、一緒にDockerの実行環境もインストールできるので)

私の使っているMacはIntelのCPU搭載のものなので、以下公式ドキュメントの「Mac with Intel chip」ボタンからDocker.dmgをダウンロード、インストールするだけです。

インストールしたDockerアプリを起動すると利用条件的なことが書いた画面が表示されますが、今回は個人利用が目的で無償利用できる範囲内なので「accept」ボタンを押します。

これでインストールは完了です。

Dokerfileの作成#

Dockerfileというファイル名のテキストファイルを作成します。とりあえず最小限の以下の内容を記述します。

# 必須項目。ベースとなるイメージ。今回はubuntuの20.04を選択
FROM ubuntu:20.04
# コンテナ起動後に実行するコマンド
CMD echo "Hello World!!"

今回はベースのイメージにはubuntuを利用します。

イメージの作成#

作成したDokerfileを以下のコマンドでビルドします。

Terminal window
# カレントディレクトリのDockerfileからhelloworldという名前のイメージを作成する
$ docker build -t helloworld .

イメージ一覧を表示して、イメージが作成されていることを確認します。

Terminal window
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
helloworld latest bdc0073740d3 3 weeks ago 72.8MB

コンテナの作成#

作成したイメージからコンテナを作成します。

Terminal window
# helloworldというイメージからecho_helloworldというコンテナを作成する
$ docker create --name echo_helloworld helloworld

コンテナ一覧を表示して、コンテナが作成されていることを確認します。

Terminal window
# -aオプションをつけることで、実行中のコンテナだけでなくすべてのコンテナを表示できる
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7eaa2f8e2ec5 helloworld "/bin/sh -c 'echo \"H…" 8 seconds ago Created echo_helloworld

コンテナの実行#

作成したコンテナを実行します。

Terminal window
$ docker start -a echo_helloworld
Hello World!!

参考: