zoukankan      html  css  js  c++  java
  • Dockerfile(3)

    WORKDIR

    • 切换到镜像中的指定路径,设置工作目录
    • 在 WORKDIR 中需要使用绝对路径,如果镜像中对应的路径不存在,会自动创建此目录
    • 一般用 WORKDIR 来替代 RUN cd <path> && <do something> 切换目录进行操作的指令
    • WORKDIR 指令为 Dockerfile 中跟随它的任何 RUN、CMD、ENTRYPOINT、COPY、ADD 指令设置工作目录
    • 如果 WORKDIR 不存在,即使它没有在任何后续 Dockerfile 指令中使用,它也会被创建

    小栗子

    会将宿主机的 test.txt 文件复制到 镜像的 /tmp/test.txt

    WORKDIR /tmp
    COPY test.txt .

    使用相对路径的场景

    WORKDIR 指令可以在 Dockerfile 中多次使用

    如果提供了相对路径,它将相对于一个 WORKDIR 指令的路径

    WORKDIR /a
    WORKDIR b
    WORKDIR c
    RUN pwd

    pwd 的输出将会是 /a/b/c

    推荐

    为了避免出错,推荐WORKDIR指令中只使用绝对路径

    使用环境变量

    WORKDIR 指令可以使用前面 ENV 设置的环境变量

    ENV DIRPATH=/path
    WORKDIR $DIRPATH/$DIRNAME
    RUN pwd    # /path/$DIRNAME
  • 相关阅读:
    单例模式
    二、CSS
    十一、多线程
    十二、协程
    十、多进程
    九、内存管理
    八、元类
    七、上下文管理器/魔术方法
    六、单例模式
    五、装饰器
  • 原文地址:https://www.cnblogs.com/poloyy/p/15470016.html
Copyright © 2011-2022 走看看