前提
-dオプションをなんとなくつけていたので、調べました。忘れないように記録しておきます。
まず前提として、Dockerはクライアント/サーバアプリケーションです。クライアント上でコンテナを作成するコマンドが叩かれると、クライアントがサーバにリクエストを行い、コンテナ作成はサーバ上で実行されます。
-dをつけるとdetachedモードでコンテナを起動
detachedモードだと、バックグラウンドでコンテナを起動します。つまり、クライアントがリクエストをしている間に、クライアントは終了します。detachedモードでコンテナを起動すると、そのまま他のコマンドを実行することが出来ます。つまり、起動した後も普通のターミナルとして使うことが出来ます。
-dをつけないとforegroundモードでコンテナを起動
逆は、フォアグラウンドでコンテナを起動します。先程と異なり、クライアントは終了しません。foregroundモードで起動すると、実行中のプロセスに対してコマンドをインタラクティブに入力することが出来ます。
間違いがありましたら、コメントでご指摘いただけると有り難いです。
参考