Docker入門(Dockerの基本操作)

投稿者: | 2019-09-09
Table of Content

この記事ではDockerの基本操作について説明します。

Dockerイメージの操作

ここでは、Docker公式のリポジトリサービスであるDocker Hubからイメージを取得する手順を説明します。

イメージのダウンロード

Dockerコンテナを起動するためには、Dockerコンテナのもとになる「Dockerイメージ」が必要です。

Docker Hubからイメージを取得するには、docker image pullコマンドを使います。

このコマンドの構文は次の通りです。

$ docker image pull [オプション] イメージ名[:タグ名]

例えば、CentOSのバージョン7(タグ名:7)をダウンロードするには以下のコマンドを実行します。

$ docker image pull centos:7

Dockerイメージ名にイメージを取得するURLを指定することもできます。URLは、プロトコル(https://)を除いて指定します

例えば、以下のコマンドを実行すると、オープンソースの機械学習フレームワークであるTensorFlowのDockerイメージを
https://gcr.io/tensorflow/tensorflow」から取得できます。

$ docker image pull gcr.io/tensorflow/tensorflow

イメージの一覧表示

取得したイメージの一覧表示を行います。イメージの一覧表示は、docker image lsコマンドを使います。

このコマンドの構文は以下の通りです。

$ docker image ls [オプション] [レポジトリ名]

指定できるオプション

オプション 説明
-all, -a すべてのイメージを表示
--digests ダイジェストを表示するかどうか
--no-trunc 結果をすべて表示する
--quiet, -q DockerイメージIDのみ表示

コマンドを実行すると以下の図のように結果が表示されます。

docker image ls の実行結果の例

それぞれの結果の意味は以下の表の通りです。

項目 説明
REPOSITORY イメージの名前
TAG イメージタグ名
IMAGE ID イメージID
CREATED 作成日
SIZE イメージのサイズ

イメージの削除

作成したイメージはdocker image rmコマンドで削除できます。

このコマンドの構文は以下の通りです。

$ docker image rm [オプション] イメージ名 [イメージ名]

指定できるオプション

オプション 説明
--force, -f 強制的にイメージを削除する
--no-prun 中間イメージを削除しない(中間イメージとはDockerイメージを作成する際に自動で作成されるイメージのことです。)

ここまでで、Dockerのイメージを操作する方法を説明しました。

Dockerコンテナの生成・起動・停止

イメージが出来上がったら、コンテナを生成できます。ここでは、コンテナの生成・起動・停止を行うコマンドについて説明します。

コンテナ生成・起動(docker container run コマンド)

Dockerコンテナの生成・起動は、docker container runコマンドを実行します。
このコマンドの構文は以下の通りです。

$ docker container run [オプション] イメージ名[:タグ名] [引数]

指定できる主なオプション

オプション 説明
--attach, -a 標準入力(STDIN)/標準出力(STDOUT)/標準エラー出力(STDERR)にアタッチする
--detach, -d コンテナを生成し、バックグラウンドで実行する。(バックグラウンド実行とはサーバとして実行することです。)
--name [コンテナ名] コンテナ名を設定する

コンテナを起動するときに、ネットワークに関する設定を行うことができます。

コンテナ起動時にコンテナのネットワーク設定をするための構文は以下になります。

$ docker container run [ネットワークオプション] イメージ名[:タグ名] [引数]

例えば、WebサーバーのNginxのイメージをもとにして、コンテナを生成し、ホストOSのポート番号8080とコンテナのポート番号80をマッピングして起動するコマンドは以下になります。

$ docker container run -d -p 8080:80 nginx

このコマンドを実行すると、ホストの8080ポートにアクセスすると、コンテナ上で動作しているNginx(80番ポート)のサービスにアクセスできます。

コンテナ停止(docker container stop コマンド)

起動しているコンテナを停止する時は、docker container stopコマンドを使います。

このコマンドの構文は以下の通りです。

$ docker container stop [オプション] コンテナ識別子 [コンテナ識別子]

コンテナ削除(docker container rm コマンド)

停止しているコンテナを削除するときはdocker container rmコマンドを使います。
このコマンドの構文は以下の通りです。

$ docker container rm [オプション] コンテナ識別子 [コンテナ識別子]

指定できる主なオプション

オプション 説明
--force, -f 起動中のコンテナを強制的に削除する
--volumes, -v 割り当てたボリュームを削除する(ボリュームとはコンテナのデータを永続化するためのホストOSのディスク領域のことです。)

ここまでで、Dockerコンテナを操作する方法を学びました。

Dockerコンテナを使ったWebサーバの構築

ここまでの内容で、Dockerイメージをダウンロードして、コンテナを生成・起動・停止する手順を説明しました。

以下では、これまでの内容を使って、NginxのDcokerコンテナを立ち上げます。

1. Dockerイメージのダウンロード

まずはDocker HubからNginxのDockerイメージをダウンロードします。

以下のコマンドを実行してダウンロードしましょう。
(コマンドを実行するディレクトリはどこでも構いません。)

$ docker pull nginx

2. Dockerコンテナを起動

ダウンロードしたDockerイメージを使ってNginxのサーバを起動します。

以下のコマンドを実行します。(コマンドを実行するディレクトリはどこでも構いません。)

--name webserverはコンテナ名の指定です。

$ docker container run --name webserver -d -p 80:80 nginx

コマンドを実行したら実際に起動しているか確認するため、Webブラウザで「http://localhost:80」にアクセスします。

Nginxのサーバのトップ画面(下の図)が表示されれば、問題なく動作していることを確認できます。

Nginxサーバトップ画面

3. Dockerコンテナの停止

Dockerで起動したNginxのサーバの状態を確認するには、docker container psコマンドを実行します。

docker container psの実行結果

コマンドの実行結果を見ると、「webserver」という名前のDockerコンテナでNginxのサーバが起動し、コンテナの80番ポートを転送していることがわかります。

以下のコマンドを実行しコンテナのプロセスを停止します。

$ docker stop webserver

コンテナが停止したので、Webブラウザから再度アクセスするとエラーになるのが確認できます。

ここまでで、Dockerの基本操作について説明しました。

次の記事ではDockerfileを使用したコンテナ構築について学んで行きます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です