最近、Docker がコンテナの起動時に特定のプロセスを直接実行できるようにする方法を調べていたところ、コンテナの起動時に Dockerfile でコンテナ実行コマンドを指定できることが分かりました。 CMD を指定しますが、各 Dockerfile には 1 つの CMD 命令しか含めることができません。複数の CMD 命令を指定した場合、最後の命令のみが実行されます。 そこで方法を考えて、スクリプトを書いて、スクリプト内で複数のプロセスを開始し、Dockerfile でスクリプトを実行しました。 最終的に、この方法は実行可能であることが証明されました。しかし、実験中に問題が発生しました。コンテナは起動後すぐに停止しました。 情報を参照した後: Docker コンテナは、一度に 1 つのプロセスのみを管理できます。このプロセスが終了すると、コンテナも終了します。ただし、これはコンテナが 1 つのプロセスのみを実行できるという意味ではありません (他のプロセスはバックグラウンドで実行できます)。ただし、コンテナが終了しないようにするには、フォアグラウンドでプロセスが実行されている必要があります。 解決: スクリプト内の最後のプロセスはフォアグラウンド モードで実行する必要があります。つまり、プロセスの最後に & (& はバックグラウンド実行を意味します) を追加しないでください。そうしないと、コンテナーが終了します。 補足知識: docker コンテナで gdbserver を使用する際の問題と解決策 dockerコンテナでgdbserverを使用するときに問題が発生します
その理由は、Docker はデフォルトで PTRACE 機能を無効にしており、コンテナの実行時に有効にする必要があるためです。
起動後すぐにdockerコンテナが終了する問題を解決する上記の記事は、編集者が皆さんと共有する内容のすべてです。 皆さんの参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL フラッシュリストとダーティページフラッシュメカニズム
>>: JavaScript のドキュメント オブジェクト モデル (DOM)
1. 基本ライン 2. 特殊効果(効果は独立しておらず、互いに組み合わせることができます) 1. 両...
背景今日、他のプロジェクト チームと協力してシステムのストレス テストを実施しているときに、プロ...
今日私が書こうとしている内容では、プログラムは 7 時間近く実行され、データベースに 1,000 万...
ファイルの保存とアクセスを容易にするために、FTPサービスが特別に構築されています。 FTP サーバ...
Ubuntu 18.04 を使用する Python 開発者向けの参考資料です。 1. Ubuntu ...
この記事の例では、タイプライター効果を実現するためのjsの具体的なコードを参考までに共有しています。...
目次意味文法例1. 初期値initが渡されない2. 初期値を渡す場合3. アレイの重複排除4. Re...
大学院入試に備えて、C/C++ を使って基本的なデータ構造とアルゴリズムを実装する予定です。アルゴリ...
0. タグとは何ですか? XML/HTML コードコンテンツをクリップボードにコピー<入力 t...
では、GIF、PNG、JPG のどの形式を候補形式として選択すればよいのでしょうか。また、どの画像形...
目次1. ユニットテストはなぜ必要なのでしょうか? 2. ユニットテストの書き方3. テストツール4...
Google Chrome では、ログインに成功すると、パスワードを記憶するかどうかを尋ねるメッセー...
目次1. ホームページ制作1. ダウンロードアプリの制作2. ナビゲーションバーの制作3. カルーセ...
目次序文オプション1:オプション2:オプション3:オプション4(最終的に採用されたオプション):要約...
同僚からよく聞かれるのですが、ファイル/ディレクトリを削除すると「操作は許可されていません」というエ...