Docker Nginxを起動して基本的なコマンドを理解する
Docker
でNginx
を動かすための作業メモです。
Docker
のインストールから基本的な使い方についてはDocker hello worldを実行して基本的な仕組みを理解するで紹介しています。
Dockerバージョンの確認
最初にインストールされているDocker
のバージョンを確認します。
$ docker -v
Docker version 18.09.5, build e8ff056
Dockerイメージの取得
以下のコマンドでNginx
のイメージを取得します。
最新(latest
)のイメージをダウンロードしていることが確認できます。
$ docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
--省略--
ダウンロードしたイメージを確認します。
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 27a188018e18 2 weeks ago 109MB
コンテナの作成と実行
以下のコマンドでコンテナを作成して実行します。
コマンドのオプションについては後ほど解説します。
$ docker run -d -p 8080:80 nginx
起動中のコンテナを確認します。
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4312d625138d nginx "nginx -g 'daemon of…" 6 seconds ago Up 5 seconds 0.0.0.0:8080->80/tcp flamboyant_chandrasekhar
ブラウザでlocalhost:8080
にアクセスするとWelcome to nginx!
と表示されることを確認できます。
runコマンドのオプション
-d
を指定するとデタッチモードで起動します。バックグラウンドで起動するため、常駐プログラムの場合に使用します。
-d
を指定しないとコマンドが待機中の状態になってしまい、これ以外の処理が行えなくなってしまいます。
-p
オプションでホスト側のポート番号とコンテナ側のポート番号を紐付けます。
「ホストのポート番号:コンテナのポート番号」の形式で指定します。
8080:80
と指定すると、ホスト側のブラウザでlocalhost:8080
にアクセスすると、コンテナ側のlocalhost:80
が表示されます。
コンテナの停止
docker stop コンテナ名
でコンテナを停止できます。
コンテナ名は先程実行したコマンドdocker ps
で確認できます。
$ docker container stop flamboyant_chandrasekhar
起動中のコンテナを確認し、先程のコンテナが停止していることが確認できます。
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
docker run
でコンテナを実行するときのオプション--name
を指定すれば、コンテナ名は自分でわかりやすい名前にすることができます。
$ docker run --name my-server -d -p 8080:80 nginx
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
14ce17a17c83 nginx "nginx -g 'daemon of…" 11 seconds ago Up 10 seconds 0.0.0.0:8080->80/tcp my-server
$ docker container stop my-server
停止したコンテナは削除されずに残っています。docker ps -a
で停止中のコンテナも含めて表示できます。
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
14ce17a17c83 nginx "nginx -g 'daemon of…" 14 minutes ago Exited (0) 6 seconds ago my-server
4312d625138d nginx "nginx -g 'daemon of…" 26 minutes ago Exited (0) 18 minutes ago flamboyant_chandrasekhar
停止したコンテナを再び実行する方法はDocker 停止中のコンテナを再び実行するで紹介しています。