Docker Nginxを起動して基本的なコマンドを理解する
DockerでNginxを動かすための作業メモです。
Dockerのインストールから基本的な使い方についてはDocker hello worldを実行して基本的な仕組みを理解するで紹介しています。
Dockerバージョンの確認
最初にインストールされているDockerのバージョンを確認します。
$ docker -v
Docker version 18.09.5, build e8ff056Dockerイメージの取得
以下のコマンドで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 NAMESdocker 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 停止中のコンテナを再び実行するで紹介しています。