数日前、私はDockerfile[1]のHere-Doc構文をテストしましたが、役に立たないことがわかりました。私はただ表面的なだけだった。 Docker公式サイトのドキュメントにあるbuildkit[2]の紹介を再度読みました。これは Docker Engine 23.0 以降のデフォルトのビルダーです。 BuildKitopen_in_new は、従来のビルダーを置き換えるために改良されたバックエンドです。 BuildKit は、バージョン 23.0 以降の Docker Desktop および Docker Engine のユーザーのデフォルトのビルダーです。 つまり、前回の記事で述べた不便さはすべて自然に解消されることになります。 私は、HereDoc は役に立たない構文であるという誤解を注意深く分析し、以下の理由を発見しました。 テスト サーバーの Docker バージョンが低すぎます (20.x)。 ベースイメージを書いてからかなり時間が経っているので、複雑なRUNコマンドやCOPYコマンドはありません。 上記の点を踏まえて、いくつかの最適化を行いました。
結論としては、Here-Doc 構文は本当に素晴らしいということです。 一言で言えば、複数行の構文をサポートするだけでなく、組み込みのシェル スクリプトも直接サポートします。 素晴らしい Dockerfile ヒアドキュメント構文まず、公式 Web サイトのドキュメントに従って、Docker エンジンのバージョンを最新バージョンにアップグレードします。 Ubuntu - docker[3]を例に挙げる
次に、Docker Hub[4]で対応するredis公式dockerfileを見つけます。 RUNコンテンツは&&でリンクされていないものの、;でセグメント化されて管理されていることがわかります。そして\、これはまだ少し不便です。 少し変更すると、(1) をすべて削除します。リンクとして使用されている\を削除し、(2)RUNのインデントをすべて削除します。 重要なポイント: これはシェル スクリプトです。つまり、ローカルテストが完了したら、それを Dockerfile に直接コピーできます。以前は、コマンドを連鎖するには && を使用する必要がありました。
docker buildコマンドを使用してイメージを直接ビルドし、実行結果を確認します。 トラブルシューティング変数の受け渡し問題以下の 2 つのモードに関しては、公式 Web サイトのドキュメントではその理由が説明されていません。これは比較実験結果から推測されただけであり、具体的な実装はまだ研究されていません。 モード 1 bash は EOT の直後にルート化されます。 このモードでは、最初の行の変数 dist を 2 行目の wget で使用することはできません。したがって、wget行によって実際に解析されるコマンドは
モード 2: 複数行コンテンツの最初の行でインタープリター #!/bin/bash が指定されている場合、すべてのコンテンツはシェル スクリプトと見なされます。 このモードでは、wget行によって実際に解析されるコマンドは
期待に応える ビルドキット構成ファイルなし
デフォルトの buildx 構成が見つからない場合は、以下を使用します。 |
<<: Dockerfileファイルを取得するためのDockerイメージ解析
最初の問題は、あなたのウェブサイトはランキングを持っていますが、キーワードが安定していないことです。...
Hostflyte、ロサンゼルス VPS の新しい cn2 gia ラインは、KVM 仮想化、1Gb...
「橋を渡れば物事はうまくいく」という中国のことわざがあります。このことわざは、人生の些細なことに本当...
timeweb は、KVM 仮想化に基づくハイエンド VPS を提供しています。I9-9900 (5...
人生は旅のようなものです。コピーライティングを職業として選んだということは、旅の目的を選んだというこ...
クラウド コンピューティングはビジネス運営に多大なメリットをもたらしますが、これらのメリットを実現す...
数日前にWentaoとこの件について話し合ったことを覚えています。特に私のブログサイトのインクルード...
都市に住む人々は、いくつかの共通のビジョンを持っています。「例えば、道路をもっとスムーズにできないか...
myserverplanet(登録年:2010年、英国企業)が新しいビジネスを立ち上げ、cpanel...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス私は企業のプロダクトマー...
2004 年に設立されたアメリカのホスティング会社 greengeeks は、クリスマスに仮想ホステ...
最近、政府はインターネットの管理を強化しており、簡単な個人ブログを開設するにも、何段階もの承認と申請...
I. はじめにプログラムを開発する場合、使用するオペレーティング環境は通常、自分のコンピューター、W...
国家郵政局のデータによると、中国の速達業務量は8年連続で世界第1位となっており、2022年も引き続き...
budgetvmのSSDハードドライブVPSの価格が値下げされました。現在、1Gの価格は512Mメモ...