DockerfileのENV命令に$ PWDが設定されていません

チェロット

Dockerfileは次のように始まります:

FROM ubuntu:16.04
WORKDIR /some/path
COPY . .
ENV PYTHONUSERBASE=$PWD/pyenv PATH=$PWD/pyenv/bin:$PATH
RUN echo "PWD is: $PWD"
RUN echo "PYENV is: $PYTHONUSERBASE"

比較として、実行時に設定されていない$PWD(または${PWD}が正しく展開さdocker buildれていることがわかりました$PATH

また、$PWD中にRUN問題がない(これは、印刷/some/path、この場合)

したがって、指定されたDockerfileの出力は次のようになります。

PWD is: /some/path
PYENV is: /pyenv

なぜ$PWDそんなに特別なのか誰かに教えてもらえますかの振る舞いに関係しているのではないかと思いますがWORKDIR、それについてはわかりません。

ロバート

PWDは、シェル内に設定される特別な変数です。docker RUNが何かを実行すると、このフォームsh -c 'something'それが実行され、ENV命令から事前定義された環境変数が渡されます。ここで、PWDはそのリストにありません(で参照docker inspect <image-id>)。

ENV命令はシェルを起動しません。画像メタデータのenv変数の現在のリストを追加または更新するだけです。

Dockerfileを次のように記述します。

FROM ubuntu:16.04
ENV APP_PATH=/some/path
WORKDIR $APP_PATH
COPY . .
ENV PYTHONUSERBASE=$APP_PATH/pyenv PATH=$APP_PATH/pyenv/bin:$PATH
RUN echo "PWD is: $PWD"
RUN echo "PYENV is: $PYTHONUSERBASE"

ドキュメントの詳細情報

WORKDIR命令は、Dockerfileでそれに続くRUN、CMD、ENTRYPOINT、COPY、およびADD命令の作業ディレクトリを設定します。WORKDIRが存在しない場合は、後続のDockerfile命令で使用されていなくても作成されます。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

UITableViewCellの高さがStoryBoardで設定されていません

分類Dev

トークンがCookieに設定されていません

分類Dev

GOPATHが自動的に設定されていませんか?

分類Dev

IllegalStateException:リンクにNavControllerが設定されていません

分類Dev

IllegalStateException:リンクにNavControllerが設定されていません

分類Dev

componentDidMountに状態が設定されていません

分類Dev

ブラウザにCookieが設定されていません

分類Dev

AnalogWriteが0Vに設定されていません

分類Dev

状態がuseEffectに設定されていません

分類Dev

f:viewparamがBeanに設定されていません

分類Dev

削除、jqgridにURLが設定されていません

分類Dev

整数GetterValueがTextViewに設定されていません

分類Dev

imageview onelplus、lollipopに画像が設定されていません

分類Dev

myoriginが後置に設定されていません

分類Dev

$_POST 値が $.ajax 投稿に設定されていません

分類Dev

Recyclerviewがalertdialog内に設定されていません

分類Dev

selectの初期値がAngularJSで設定されていません

分類Dev

selectの初期値がAngularJSで設定されていません

分類Dev

QSortFilterProxyModelのSortRoleが設定されていません

分類Dev

ComboBoxのSelectedValueが設定されていません

分類Dev

Linq to SqlDatacontextの主キーが設定されていません

分類Dev

Cookieの値が設定されていません

分類Dev

変数{5}の値が設定されていません

分類Dev

NavigationItemの右ボタンが設定されていません

分類Dev

Materializecssの日付が初期化によって設定されていません

分類Dev

特定の日付に列の値が設定されていません

分類Dev

@Valueが1つの特定のクラスに設定されていません

分類Dev

@Valueが1つの特定のクラスに設定されていません

分類Dev

ViewControllerの高さが正しく設定されていません

Related 関連記事

  1. 1

    UITableViewCellの高さがStoryBoardで設定されていません

  2. 2

    トークンがCookieに設定されていません

  3. 3

    GOPATHが自動的に設定されていませんか?

  4. 4

    IllegalStateException:リンクにNavControllerが設定されていません

  5. 5

    IllegalStateException:リンクにNavControllerが設定されていません

  6. 6

    componentDidMountに状態が設定されていません

  7. 7

    ブラウザにCookieが設定されていません

  8. 8

    AnalogWriteが0Vに設定されていません

  9. 9

    状態がuseEffectに設定されていません

  10. 10

    f:viewparamがBeanに設定されていません

  11. 11

    削除、jqgridにURLが設定されていません

  12. 12

    整数GetterValueがTextViewに設定されていません

  13. 13

    imageview onelplus、lollipopに画像が設定されていません

  14. 14

    myoriginが後置に設定されていません

  15. 15

    $_POST 値が $.ajax 投稿に設定されていません

  16. 16

    Recyclerviewがalertdialog内に設定されていません

  17. 17

    selectの初期値がAngularJSで設定されていません

  18. 18

    selectの初期値がAngularJSで設定されていません

  19. 19

    QSortFilterProxyModelのSortRoleが設定されていません

  20. 20

    ComboBoxのSelectedValueが設定されていません

  21. 21

    Linq to SqlDatacontextの主キーが設定されていません

  22. 22

    Cookieの値が設定されていません

  23. 23

    変数{5}の値が設定されていません

  24. 24

    NavigationItemの右ボタンが設定されていません

  25. 25

    Materializecssの日付が初期化によって設定されていません

  26. 26

    特定の日付に列の値が設定されていません

  27. 27

    @Valueが1つの特定のクラスに設定されていません

  28. 28

    @Valueが1つの特定のクラスに設定されていません

  29. 29

    ViewControllerの高さが正しく設定されていません

ホットタグ

アーカイブ