私はdevサーバーを実行しているノードドッカーコンテナを持っています。私のドッキングウィンドウ-compose.ymlファイルで実行中のドッカー・コンテナのエントリ・コマンドbashにアクセスできますか?
、エントリーコマンドは次のとおりです。
ベンダーがインストールした後、サーバーを起動するスクリプトにポイント-devのサーバーの起動...
command: start-dev-server
...
:
// /usr/local/bin/start-dev-server
#!/usr/bin/env bash
# install node modules if missing
npm i
# start the dev server
npm run start
私はコンテナを起動すると、サーバーも起動します。
私は、次のコマンドを使用してbashで、私のコンテナにアクセスできることを知っている:
docker exec -it my-container bash
しかし、私は自分のサーバーが停止したり再起動することはできません。 起動したコマンドでsshにアクセスする方法はありますか? (サーバーログなどを参照するか、または&を停止して再起動してください)。
エントリコマンドが停止されていない可能性があるので、ここで間違ったパスをとっているのでしょうか?だから、この場合、誰も私のサーバーを起動することができる解決策を持っています&より柔軟な方法でそれを制御しますか?
ベストプラクティスでは、コンテナがサーバーとして表示されるはずです。停止したい場合はコンテナを停止し、再起動したい場合はコンテナを再起動してください。あなたのサーバは 'stdout'にログする必要があります。' docker logs my-container'を使ってログを見ることができます。それで、あなたは正しいのですが、コマンドはコンテナを止めるので、停止させるべきではありません。ソリューションを提案するには、「より柔軟な方法で制御する」と言ったときにはどういう意味ですか? – charli
実際には、docker logs -f my-containerコマンドは完全に私が望んでいたものですが、実際にはサーバーを停止して再起動するためには、ドッカーのコマンドを使用するだけです。私はログコマンドを表示するための-fオプションを見逃してしまった。ありがとうございます、あなたのコメントで答えることができます、私はあなたの答えを受け入れるよ! – jiboulex
ありがとう!ドッカーのコマンドとDockerのベストプラクティスへのリンクを追加しました – charli