Hello Docker


Dockerをインストールして実際にDockerコマンドを実行してみます。

🏀 Macの環境構築

  1. Install Docker for Mac - Docker Documentation」のStable版をインストールして起動
  2. docker --versionでDockerのバージョンが表示されればOK

🐝 Hello World

試しにHello World的なDockerコンテナを起動してみます。

docker run hello-world

run コマンドはコンテナ作成後にコマンドを実行します。処理の流れは次のようになります。

  1. DockerクライアントがDockerのデーモンを呼び出す
  2. DockerデーモンがDocker Hubからhello-worldイメージをダウンロードする
  3. Dockerデーモンがイメージから新しいコンテナを生成する
  4. コンテナはdocker run hello-worldでスクリプトを実行して結果を出力する
  5. Dockerデーモンは、出力結果をDockerクライアントに渡してターミナルに送る

🗻 Ubuntuのbashを実行する

上記のコマンドを実行すると、Ubuntuのコンテナにログインしてbashを使えます。

docker run -it ubuntu bash

-itオプションは「コンテナの作成後ログイン」を行います。

😸 Docker化されたWebサーバを起動する

DockerコンテナのNginxを起動してます。

docker run -d -p 80:80 --name web nginx

オプションの意味は次の通りです。

  • -d: バックグラウンド動作する。標準出力や標準エラーはコンソールに出力されない
  • -p 80:80: localhostの80番ポートにアクセスするとNginxの80版ポートにつながる
  • --name web: コンテナ名をwebにする

これで http://localhost にアクセスするとNginxのページが出力されます。

🍮 Dockerコンテナの削除

使い終わったDockerコンテナを停止して削除するコマンドです。

# Dockerコンテナの一覧を停止済も含めて表示
docker ps -a
# Dockerコンテナの削除
docker rm -f web

🐞 Dockerイメージの削除

使わなくなったDockerイメージを削除するコマンドです。

# 現在取得済のDockerイメージを表示
docker images
# Dockerイメージの削除
docker rmi hello-world

🤔 参考リンク

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)