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