問題タブ [docker-entrypoint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.x - エントリポイントの後にコンテナ プロンプトを表示するコマンド
ENNTRYPOINT の後にコンテナー プロンプトを表示するために、Dockerfile の最後に追加できるコマンドはどれですか? Dockerfile は正常に実行されます。実行された場所からプロンプトに戻るだけです。
docker - kubectl クラウド ビルダーでエントリポイントを指定することはできますか?
docker cloud builderを使用するとbash
、次のsh
ようにエントリ ポイントを指定できます。
cloudbuild.yaml
しかし、kubectl クラウド ビルダーで指定したシェル プログラム (bash
または) が何であれ、cloudbuildで次のエラーが表示されます。sh
entrypoint
これは設定です:
cloudbuild.yaml
何か不足していますか?エントリ ポイントを指定できないのはなぜですか? 別のビルダーを使用して、毎回自分で kubectl をインストールする必要がありますか?
docker - Docker コンテナの依存関係
コンテナー B によってダウンロードされたデータに依存するコンテナー A があります。
この依存関係を実装するために、docker-compose で depends_on を使用してみました。これにより、コンテナー B が A の前に開始されることが保証されますが、ダウンロードがまだ進行中の可能性があります。
コンテナ A のエントリポイントで、コンテナ B によるダウンロードの完了まで待機する必要があるという条件を指定する方法はありますか?
java - dockerエントリポイントの前にスクリプトを透過的に実行するには?
cloudformation テンプレートの docker コンテナーで Java アプリのデプロイを自動化しています。Java クラッシュ ログの環境変数をセットアップする必要がありますが、コンテナーごとに一意のパスを保持する必要があります。docker イメージまたは dockerfile を変更できません。
そのために、十分にユニークな docker コンテナの $HOSTNAME を使用しています。問題は、コンテナーの起動後に設定されるため、通常の docker 環境変数として使用できないことです。これを回避するには、env 変数を設定してエントリポイントを変更し、その後元のエントリポイントを起動します。
(AWS::ECS::TaskDefinition 用の cloudformation YAML テンプレートですが、docker cli でも同じことが表現できます)
Java コンテナ プロバイダがエントリポイント シェル スクリプトの配置を変更するまでは問題なく動作していました。ファイルが存在するかどうかを確認する必要があり、さらにメンテナンスが必要なため (つまり、エントリポイントのパスまたはファイル名が再度変更される場合) 、シェル インジェクションはコード内で非常に汚れているように見えます。
次のいずれかのより良い方法はありますか?
- 変更エントリポイントとは異なる方法を使用して、コンテナー名でパスを動的にセットアップします。また
- 「エクスポート」コマンドだけを挿入し、名前とパスが何であれ、元のエントリポイントを実行しますか?
docker - 1 つの Github Actions Docker で複数のコマンドを実行する方法
1 つのコマンドで複数のコマンドを実行する正しい方法は何action
ですか?
例えば:
としてpythonスクリプトを実行したいaction
。このスクリプトを実行する前に、requirements.txt
.
いくつかのオプションを考えることができます:
Dockerfile
コマンドを含む を作成しますRUN pip install -r requirements.txt
。- から引数を実行する前に、
python:3
イメージを使用pip install -r requirements.txt
し、ファイルで を実行します。entrypoint.sh
args
main.workflow
- と の両方
pip install
を使用python myscript.py
するargs
もう一つの例:
リポジトリに存在するスクリプトを実行し、2 つのファイル (その出力と既存のファイル) を比較したいと考えています。
これは2 つのコマンドを含むプロセスですが、最初の例では、コマンドはテスト コマンドではなくビルド コマンドpip install
と見なすことができます。
質問:
以前の Docker の出力を含む、別のコマンド用に別の Docker を作成できますか?
Dockerfile
in 、 inentrypoint
または inのコマンドの場所に関するガイドラインを探していargs
ます。