[解決済み】Dockerのビルドコンテキスト外のファイルをインクルードする方法とは?
2022-02-18 02:15:02
質問
Dockerのビルドコンテキスト外のファイルをDockerファイル内の "ADD "コマンドでインクルードするにはどうしたらいいですか?
Dockerのドキュメントより。
パスは、ビルドのコンテキスト内にある必要があります。 なぜなら、ドッカービルドの最初のステップは コンテキストディレクトリ(およびサブディレクトリ)をドッカーデーモンに送信します。
この件に関して、Dockerに対応するためだけにプロジェクト全体を再構築することは避けたいと考えています。Dockerのファイルはすべて同じサブディレクトリに置いておきたいのです。
また、Dockerはシンボリックリンクをまだサポートしていないようです(今後もサポートしない可能性があります)。 Dockerfile ADD コマンドは、ホスト #1676 のシンボリックリンクに従わない。
他に考えられるのは、Dockerのビルドコンテキストにファイルをコピーするビルド前のステップを含めることです(そして、これらのファイルを無視するようにバージョン管理を設定します)。それよりも良い回避策はあるのでしょうか?
解決方法は?
これを回避する最善の方法は、ビルドコンテキストとは別にDockerfileを-fで指定することです。
例えば、このコマンドを実行すると、ADDコマンドはカレントディレクトリにあるすべてのものにアクセスできるようになります。
docker build -f docker-files/Dockerfile .
更新情報 : Docker は、ビルドコンテキストの外側に Dockerfile を持つことができるようになりました (18.03.0-ce で修正)。そのため、以下のようなことも可能です。
docker build -f ../Dockerfile .
関連
-
[解決済み] dockerでCOPYするが、除外する
-
[解決済み] Podをスケジュールするためのノードがない - VMを使用せずにローカルでKubernetesを実行する
-
[解決済み] ドッカーコンテナの終了ステータス255は何を意味するのですか?
-
DockerのインストールとRocketMQの利用について
-
様々なDockerディレクトリの役割
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] Dockerでイメージのクリーンビルドを強制する方法
-
[解決済み] Dockerの「expose」と「publish」の違いは何ですか?
-
[解決済み] [Solved] 失敗した `docker build` のファイルシステムを検査するにはどうしたらいいですか?
-
[解決済み】ビルド中にDockerfileでホストボリュームをDockerコンテナにマウントする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】docker-compose.ymlでdocker execを実行する方法
-
[解決済み】Dockerのビルドコンテキスト外のファイルをインクルードする方法とは?
-
[解決済み] 「docker build" は正確に1つの引数を必要とします。
-
[解決済み] Dockerfileの "RUN chmod "が有効でない。
-
[解決済み] Dockerfileで-hオプションのように特定のホスト名を扱う方法
-
Docker npm getaddrinfo EAI_AGAIN registry.npmjs.org registry.npmjs.org:443
-
docker 環境に opencv をインストールします ImportError: libGL.so.1: cannot open shared object file: そのようなファイルやディレクトリはありません
-
企業向けWeChatアラート監視のためのPrometheus+Grafana+AlertmanagerのDockerインストール
-
(Kubernetes)k8sのdockerインストール入門
-
UbuntuでDockerインストールしたgogsは、サービスを時々再起動するとアクセスできなくなります。