ノードアプリ用のDockerコンテナーを設定し、それを使用して実行しました
docker run -p 4500:4500 my_node_app
デーモンなしモードでpm2を起動しました。 CTRL + Cと終了は機能しません。別のターミナルウィンドウでdocker stop my_node_appを試しましたが、役に立ちませんでした。どんな助けにも感謝します。
以下のコマンドを使用して、現在実行中のDockerコンテナーを確認できます。
docker ps
次に、実行中のコンテナのCONTAINER IDをコピーし、次のコマンドを実行します
docker stop <container_id>
実際の値に置き換えてください。
これはかなり簡単なスクリプトで試すことができます
docker container kill $(docker ps | grep "image_name" | awk '{print $1}')
説明しました
表構造でのコンテナのリスト
docker ps
結果
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
763e1a00808e 7bb2586065cd "docker-entrypoint.s…" 2 months ago Up 2 weeks 3306/tcp, 33060/tcp mysql_1
763e1a00999b 7bb2586065cd "docker-entrypoint.s…" 1 months ago Up 2 weeks 3307/tcp, 33061/tcp mysql_2
コンテナを分離する
grep "mysql_1"
結果
763e1a00808e 7bb2586065cd "docker-entrypoint.s…" 2 months ago Up 2 weeks 3306/tcp, 33060/tcp mysql_1
コンテナーIDである最初のタブ値を分離する
awk '{print $1}'
結果
763e1a00808e
つまり、これにより、イメージ名に一致するコンテナーIDを分離して、killコマンドまたはstopコマンドを送信します。
行う docker container ls
コンテナ名がわからない場合は、その名前を検索します。次にdocker kill container_name
。
ソース: Dockerドキュメント