Dockerでnginxを起動する方法

Dockerでnginxを起動する方法をご紹介します。

イメージのダウンロード

まずはダウンロードです。次のコマンドを実行すると、Docker Hubからイメージをダウンロードしてきます。

> docker pull nginx

起動

ダウンロードしたイメージを起動します。

> docker container run –name webserver -d -p 8080:80 nginx

コマンドの説明をします。

-pオプションで、外部からアクセスされるポート番号:コンテナ側のポート番号を指定します。

-dオプションはバックグラウンドで実行します。

ここで少々ハマったのがnameを指定するところです。-nameとしてエラーになりました。ヘルプを見ろとのことで確認すると–nameでハイフンが二つ必要なようでした。ハイフンを二つにすると同様のエラーは出なくなりました。

確認

ブラウザで起動したnginxを確認します。無事に起動していると次の画面が表示されます。

二回目以降の起動

上記コマンドで二回目に起動するとエラーになるので、二回目以降は次のコマンドで起動します。

> docker start nginx

ここで少々ハマったのは、最初に次のコマンドで起動してしまい、起動できなくなりました。80はすでに使用しているのでダメらしいです。

> docker container run –name webserver -d -p 80:80 nginx

エラー内容

Error response from daemon: Ports are not available: listen tcp 0.0.0.0:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
Error: failed to start containers: webserver

仕方なく削除して、ポート番号を変更してもう一度起動しました。

> docker rm d67ac4b1edd3

TIPS

Windowsでポート使用状況を確認する方法です。次のコマンドで使用しているすべてのポートを確認できます。

> netstat -an