zoukankan      html  css  js  c++  java
  • docker学习笔记13:Dockerfile 指令 WORKDIR介绍

    Dockerfile中的WORKDIR指令用于指定容器的一个目录, 容器启动时执行的命令会在该目录下执行。

    相当于设置容器的工作目录了。我们来看一个dockerfile文件

    #test
    FROM ubuntu
    MAINTAINER hello
    RUN mkdir /mydir
    RUN echo hello world > /mydir/test.txt
    WORKDIR /mydir
    CMD ["more" ,"test.txt"]

    假设根据该dockerfile构建的镜像名为 myimage

    1、运行 docker run myimage  输出 hello world

    2、运行 docker run myimage more test.txt  和上面输出一致

    可以看出,more的参数是 test.txt,但没有指定路径,却能成功,说明当前路径就是上面WORKDIR指令设置的。

    如果我们在上面的dockerfile中把WORKDIR指令去掉,创建的容器运行会报文件不存在错误。

    3、可以在 docker run命令中用 -w参数覆盖掉WORKDIR指令的设置,如:

    执行 docker run -w / myimage

    上面的-w参数将容器的工作目录设置成了根目录,而根目录下没有test.txt文件。

    所以结果显示:test.txt: No such file or directory

  • 相关阅读:
    POJ1064 浮点数二分答案
    2019牛客暑期多校训练营(第二场)H.Second Large Rectangle
    最大全1子矩阵的两种解法(例题:City Game HDU
    POJ
    Codeforces Round #588 (Div. 2) C
    1216E
    1221D
    BUY LOW, BUY LOWER, POJ
    Priest John's Busiest Day (2-sat)
    poj1080
  • 原文地址:https://www.cnblogs.com/51kata/p/5262301.html
Copyright © 2011-2022 走看看