Dockerfileからbashスクリプトを作成すると、コメントが削除されます

jesjimher

特定のbashスクリプトを作成する必要があるDockerコンテナを作成しています。Dockerfile内で次のRUN文を使用します。

RUN printf "#!/bin/bash\n \
# This is a bash comment inside the script\
ls -l" > /home/myuser/script.sh

それはうまく機能しますが、結果のスクリプトは次のとおりです。

#!/bin/bash
ls -l

そのため、bashコメントが最終ファイルから欠落しています。その理由は、Dockerがその行をDockerfileコメントであると想定しているためだと思いますが、二重引用符で囲まれているため、そうではないことは明らかだと思います。

もちろん、スクリプト全体を1行に含めるか、外部ファイルに配置するだけで問題を解決できますが、このような問題が発生することなく、複数行の引用符で囲まれた文字列内にbashコメントを含めることは可能だと思います。回避策はありますか?私はあらゆる種類の脱出を試みましたが、成功しませんでした。

R0MANARMY

そうです、Dockerがそれを文字列内のコメントではなくDockerfileコメントとして解釈するのは少し奇妙です。回避策として、次の機能を使用しました

FROM ubuntu:latest

RUN printf "#!/bin/bash \
\n# This is a bash comment inside the script \
\nls -l\n" > /script.sh

RUN cat /script.sh

この出力の結果

Step 3 : RUN cat /script.sh
 ---> Running in afc19e228656
#!/bin/bash 
# This is a bash comment inside the script 
ls -l

\nコメント行の先頭に移動しても、正しい出力が生成されますが、その行はDockerfileコメント行として扱われなくなります。


正しいコマンド解析コードを見つけ、それを正しく読んでいると仮定すると、Dockerは、行を解析してコマンドが含まれているかどうかを確認する前に、コメントを取り除きます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Blazor:動的に作成されたコンポーネントを削除すると、常にリストから最後のアイテムが削除されます

分類Dev

特定の div からスクリプトと HTML コメントを削除する

分類Dev

bashスクリプトからファイル内のwgetコマンドでexecを実行すると、wgetオプションが無視されます

分類Dev

Dockerfileからbashスクリプトを実行しているときにエラーがスローされます

分類Dev

コンポーネントが破棄されると、initComponent関数のメモリに作成されたストアがリークしますか?それともこれらのストアはガベージコレクションされますか?

分類Dev

コンポーネントが破棄されると、initComponent関数のメモリに作成されたストアがリークしますか?それともこれらのストアはガベージコレクションされますか?

分類Dev

bash関数をbashスクリプト内で使用すると、「コマンドが見つかりません」と表示されますか?

分類Dev

bash では、リストをエコーすると「/」が削除されます。

分類Dev

リストからvueコンポーネントを削除すると、常にリストの最後の要素が削除されます

分類Dev

ファイルから変数を読み込んでbashスクリプトで使用すると、\が削除されます。

分類Dev

bashスクリプトからdockerコマンドを実行すると、結果が異なります

分類Dev

そのlijquery内のアイコンをクリックすると、リストからli要素が削除されます

分類Dev

Githubでプルリクエストのベースブランチを変更すると、どのコミットが削除されますか?

分類Dev

notifyItemRemoved(); アクティビティを終了して再入力するまで、リストからコメントが削除されない

分類Dev

リストから他の要素を削除すると、「False」がリストから削除されます

分類Dev

Node jsでデスクトップアプリケーションを作成すると、コードが公開される危険がありますか?

分類Dev

1つのリンクを削除すると、リンクリストからノードが削除されますか?

分類Dev

カスタムコントロールのスタイルリソースを作成すると、テンプレートが削除されます

分類Dev

LotusScriptエージェントからメモが作成されて送信され、リッチテキストがプレーンに変換されてドキュメントリンクが削除されるのはなぜですか?

分類Dev

if ステートメントを使用すると、bash スクリプトでコマンドが見つからないというエラーが表示される

分類Dev

Docker:DockerHubからイメージをプルするとDockerfileがローカルホストにダウンロードされますか?

分類Dev

そのクラスのオブジェクトが作成されたときにコンストラクターがメモリを取得する外部で関数がクリアされていますか。関数が呼び出されていません

分類Dev

生成されたリクエストに表示されるコメントを作成しますか?WSDL SOAP xml

分類Dev

スクリプトが実行可能ファイルに設定されているにもかかわらず、コマンドラインからスクリプトを実行できません-「コマンドが見つかりません」というメッセージが表示されます

分類Dev

Bashスクリプト:他のBashスクリプトのすべてのコメントを削除します

分類Dev

これらすべてのコマンドを入力する代わりに、bashスクリプトを作成することは可能ですか?

分類Dev

ヒアドキュメントを使用してBashスクリプトからスクリプトを作成します。変数が置き換えられるのはなぜですか?

分類Dev

スコープが変更されると、Angualrjsはファクトリーから値を取得します

分類Dev

別のドメインからのリクエストごとにセッションが作成されます

Related 関連記事

  1. 1

    Blazor:動的に作成されたコンポーネントを削除すると、常にリストから最後のアイテムが削除されます

  2. 2

    特定の div からスクリプトと HTML コメントを削除する

  3. 3

    bashスクリプトからファイル内のwgetコマンドでexecを実行すると、wgetオプションが無視されます

  4. 4

    Dockerfileからbashスクリプトを実行しているときにエラーがスローされます

  5. 5

    コンポーネントが破棄されると、initComponent関数のメモリに作成されたストアがリークしますか?それともこれらのストアはガベージコレクションされますか?

  6. 6

    コンポーネントが破棄されると、initComponent関数のメモリに作成されたストアがリークしますか?それともこれらのストアはガベージコレクションされますか?

  7. 7

    bash関数をbashスクリプト内で使用すると、「コマンドが見つかりません」と表示されますか?

  8. 8

    bash では、リストをエコーすると「/」が削除されます。

  9. 9

    リストからvueコンポーネントを削除すると、常にリストの最後の要素が削除されます

  10. 10

    ファイルから変数を読み込んでbashスクリプトで使用すると、\が削除されます。

  11. 11

    bashスクリプトからdockerコマンドを実行すると、結果が異なります

  12. 12

    そのlijquery内のアイコンをクリックすると、リストからli要素が削除されます

  13. 13

    Githubでプルリクエストのベースブランチを変更すると、どのコミットが削除されますか?

  14. 14

    notifyItemRemoved(); アクティビティを終了して再入力するまで、リストからコメントが削除されない

  15. 15

    リストから他の要素を削除すると、「False」がリストから削除されます

  16. 16

    Node jsでデスクトップアプリケーションを作成すると、コードが公開される危険がありますか?

  17. 17

    1つのリンクを削除すると、リンクリストからノードが削除されますか?

  18. 18

    カスタムコントロールのスタイルリソースを作成すると、テンプレートが削除されます

  19. 19

    LotusScriptエージェントからメモが作成されて送信され、リッチテキストがプレーンに変換されてドキュメントリンクが削除されるのはなぜですか?

  20. 20

    if ステートメントを使用すると、bash スクリプトでコマンドが見つからないというエラーが表示される

  21. 21

    Docker:DockerHubからイメージをプルするとDockerfileがローカルホストにダウンロードされますか?

  22. 22

    そのクラスのオブジェクトが作成されたときにコンストラクターがメモリを取得する外部で関数がクリアされていますか。関数が呼び出されていません

  23. 23

    生成されたリクエストに表示されるコメントを作成しますか?WSDL SOAP xml

  24. 24

    スクリプトが実行可能ファイルに設定されているにもかかわらず、コマンドラインからスクリプトを実行できません-「コマンドが見つかりません」というメッセージが表示されます

  25. 25

    Bashスクリプト:他のBashスクリプトのすべてのコメントを削除します

  26. 26

    これらすべてのコマンドを入力する代わりに、bashスクリプトを作成することは可能ですか?

  27. 27

    ヒアドキュメントを使用してBashスクリプトからスクリプトを作成します。変数が置き換えられるのはなぜですか?

  28. 28

    スコープが変更されると、Angualrjsはファクトリーから値を取得します

  29. 29

    別のドメインからのリクエストごとにセッションが作成されます

ホットタグ

アーカイブ