docker コマンド 基本のキ(nginx のコンテナを実行してみる)

  • 2
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

こんにちは。
Docker の軽快な動作に驚いている者です。
前回は boot2docker のインストールまで試しました。
今回は nginx のコンテナを作成しながら、基本的な docker コマンドを学びたいと思います。

環境

  • Mac OS X Yosemite
  • VirtualBox 4.3.28
  • boot2docker 1.7.0

準備

boot2docker up で Linux 仮想マシンは起動しているものとします。

Docker イメージの取得

Docker Hub から最新の Docker イメージを取得します。

$ docker pull nginx:latest

取得済みのイメージは docker images で確認できます。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
nginx               latest              319d2015d149        2 weeks ago         132.8 MB

コンテナの作成と実行

docker run でコンテナを作成して実行します。

$ docker run --name my-nginx -d -p 8080:80 nginx:latest

コンテナの状態確認

$ docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                           NAMES
ea496b1839ff        nginx:latest        "nginx -g 'daemon of   3 minutes ago       Up 3 minutes        443/tcp, 0.0.0.0:8080->80/tcp   my-nginx

nginx の動作確認

仮想マシンのIPアドレスを確認後、ブラウザで nginx へアクセスします。
ポート番号は docker run で指定した8080番です。

$ boot2docker ip
192.168.59.103
http://192.168.59.103:8080/

コンテナの停止

$ docker stop my-nginx
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

-a オプションを付けると終了したコンテナを確認できます。

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                          PORTS               NAMES
6337c95a1542        nginx:latest        "nginx -g 'daemon of   2 minutes ago       Exited (0) About a minute ago                       my-nginx            

コンテナの再実行

終了したコンテナを再度実行します。

$ docker start my-nginx
$ docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                           NAMES
6337c95a1542        nginx:latest        "nginx -g 'daemon of   5 minutes ago       Up 18 seconds       443/tcp, 0.0.0.0:8080->80/tcp   my-nginx            

コンテナの削除

終了したコンテナを削除します。

$ docker rm my-nginx
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

Docker イメージの削除

不要な Docker イメージを削除します。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
nginx               latest              319d2015d149        2 weeks ago         132.8 MB
$ docker rmi nginx:latest
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

まとめ

Docker イメージの取得からコンテナの実行と停止、イメージ削除までの一連の作業を確認できました。
慣れるまでは多少わかりにくいかもしれないので、コンテナのライフサイクルを自分で絵に描いてみると理解が早まるのではと感じました。

参考