docker runでport指定
docker run コマンドでポートを指定する方法について説明します。
Dockerコンテナのポートをホストマシンのポートにマッピングすることで、コンテナ内のサービスにアクセスできるようになります。
以下にその基本的な使い方を示します。
ポート指定の基本構文
docker run コマンドでポートを指定するには、-p または --publish オプションを使用します。
基本的な構文は次のとおりです。
docker run -p [ホストポート]:[コンテナポート] [イメージ名]
ここで、[ホストポート] はホストマシンのポート番号、[コンテナポート] はコンテナ内のポート番号、[イメージ名] は実行するDockerイメージの名前です。
例
例えば、コンテナ内のポート80をホストマシンのポート8080にマッピングする場合は、次のようにします。
docker run -p 8080:80 nginx
このコマンドは、nginx イメージを使用してコンテナを起動し、コンテナのポート80をホストのポート8080にマッピングします。
これにより、ブラウザで http://localhost:8080 にアクセスすることで、nginxサーバーに接続できます。
複数ポートの指定
複数のポートを指定する場合は、-p オプションを複数回使用します。
例えば、コンテナのポート80をホストのポート8080に、ポート443をホストのポート8443にマッピングするには、次のようにします:
docker run -p 8080:80 -p 8443:443 nginx
ポートの公開範囲
- p オプションで指定したポートは、ホストマシンのネットワークインターフェースに公開されます。
もし特定のネットワークインターフェースにのみ公開したい場合は、ホストIP:ホストポート:コンテナポート の形式で指定できます。
例えば、ローカルIPアドレス 192.168.1.100 のみでポート8080を公開するには、次のようにします。
docker run -p 192.168.1.100:8080:80 nginx
バージョン指定
特定のDockerイメージのバージョンを指定する場合は、イメージ名の後にコロンとバージョンタグを追加します。
例えば、nginxの特定のバージョン1.21.0を使用するには、次のようにします。
docker run -p 8080:80 nginx:1.21.0
これで、Dockerコンテナのポートをホストマシンのポートにマッピングする方法がわかりました。
ポート指定を適切に行うことで、コンテナ内のアプリケーションにアクセスしやすくなります。