問題タブ [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.

0 投票する
2 に答える
1194 参照

python-3.x - エントリポイントの後にコンテナ プロンプトを表示するコマンド

ENNTRYPOINT の後にコンテナー プロンプトを表示するために、Dockerfile の最後に追加できるコマンドはどれですか? Dockerfile は正常に実行されます。実行された場所からプロンプトに戻るだけです。

0 投票する
0 に答える
385 参照

docker - kubectl クラウド ビルダーでエントリポイントを指定することはできますか?

docker cloud builderを使用するとbash、次のshようにエントリ ポイントを指定できます。

cloudbuild.yaml


しかし、kubectl クラウド ビルダーで指定したシェル プログラム (bashまたは) が何であれ、cloudbuildで次のエラーが表示されます。shentrypoint

これは設定です:

cloudbuild.yaml

何か不足していますか?エントリ ポイントを指定できないのはなぜですか? 別のビルダーを使用して、毎回自分で kubectl をインストールする必要がありますか?

0 投票する
2 に答える
1402 参照

docker - Docker コンテナの依存関係

コンテナー B によってダウンロードされたデータに依存するコンテナー A があります。

この依存関係を実装するために、docker-compose で depends_on を使用してみました。これにより、コンテナー B が A の前に開始されることが保証されますが、ダウンロードがまだ進行中の可能性があります。

コンテナ A のエントリポイントで、コンテナ B によるダウンロードの完了まで待機する必要があるという条件を指定する方法はありますか?

0 投票する
1 に答える
506 参照

java - dockerエントリポイントの前にスクリプトを透過的に実行するには?

cloudformation テンプレートの docker コンテナーで Java アプリのデプロイを自動化しています。Java クラッシュ ログの環境変数をセットアップする必要がありますが、コンテナーごとに一意のパスを保持する必要があります。docker イメージまたは dockerfile を変更できません。

そのために、十分にユニークな docker コンテナの $HOSTNAME を使用しています。問題は、コンテナーの起動後に設定されるため、通常の docker 環境変数として使用できないことです。これを回避するには、env 変数を設定してエントリポイントを変更し、その後元のエントリポイントを起動します。

(AWS::ECS::TaskDefinition 用の cloudformation YAML テンプレートですが、docker cli でも同じことが表現できます)

Java コンテナ プロバイダがエントリポイント シェル スクリプトの配置を変更するまでは問題なく動作していました。ファイルが存在するかどうかを確認する必要があり、さらにメンテナンスが必要なため (つまり、エントリポイントのパスまたはファイル名が再度変更される場合) 、シェル インジェクションはコード内で非常に汚れているように見えます。

次のいずれかのより良い方法はありますか?

  1. 変更エントリポイントとは異なる方法を使用して、コンテナー名でパスを動的にセットアップします。また
  2. 「エクスポート」コマンドだけを挿入し、名前とパスが何であれ、元のエントリポイントを実行しますか?
0 投票する
1 に答える
42880 参照

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.shargsmain.workflow
  • と の両方pip installを使用python myscript.pyするargs

もう一つの例:

リポジトリに存在するスクリプトを実行し、2 つのファイル (その出力と既存のファイル) を比較したいと考えています。

これは2 つのコマンドを含むプロセスですが、最初の例では、コマンドはテスト コマンドではなくビルド コマンドpip installと見なすことができます。

質問:

以前の Docker の出力を含む、別のコマンド用に別の Docker を作成できますか?

Dockerfilein 、 inentrypointまたは inのコマンドの場所に関するガイドラインを探していargsます。