$ docker run sample-image --name sample-image-name -p 3000:8080 -d
この記事では上記のコマンドのオプションの解説をします。
docker run
$ docker run sample-image
sample-imageという名前のローカルのイメージを実行します。もしローカルに存在しない場合、docker hubからダウンロードしてきて実行します
--name process-name
$ docker run sample-image --name sample-image-name
--name sample-image-nameで、docker run するイメージをプロセスにするとき、そのプロセスにsample-image-nameという名前をつけます。
-p 3000:8080
$ docker run sample-image --name sample-image-name -p 3000:8080
-p オプションは外部のポートとコンテナ内部のポートを接続するオプションです。-p 3000:8080でローカルのポート3000(localhost:3000)にアクセスすると、dockerコンテナの内部でポート8080で動いているアプリケーションに接続できるようになります。
今回の例はあまり美しくないのですが、わかりやすさ重視のためにこのようにしました。
-d
$ docker run sample-image --name sample-image-name -p 3000:8080 -d
-dオプションでは、docker runして起動したプロセスをデーモンとして起動しバックグラウンドで動かすように指定します。
まとめ
$ docker run sample-image --name sample-image-name -p 3000:8080 -d
sample-imageというdocker imageを、sample-image-nameという名前をつけて、コンテナ内の8080番を使っているアプリにlocalhost:3000でアクセスできるようにバックグラウンドで動かします。