首页  >  问答  >  正文

Docker的工作目录是什么意思?

在Docker compose 的yml文件中,
有个参数叫工作目录,即:working_dir,
什么工作在“工作目录”进行?
百度了一下没找到很好的解释。

阿神阿神2707 天前783

全部回复(5)我来回复

  • 阿神

    阿神2017-04-24 09:13:18

    你知道Linux下面的pwd命令么?用来显示当前路径的绝对地址的那个。

    如果你知道它的全拼,你就不会有这个问题了。

    pwd的全拼是“print working directory”。


    然后再说docker compose里面的这个参数。

    在看到提问之前我也不知道docker compose里面有个working_dir,第一想法和上面的某个答案一样,是Dockerfile里面的WORKDIR,这个WORKDIR的意思自然是当前目录切换到指定的路径的意思。

    但是楼主言之凿凿,然后我想到了compose文件其实是把docker run的命令行配置的另外一种形式,那么很有可能在docker run里面也有这个属性。

    随手docker run --help一下,发现其中有条“-w, --workdir Working directory inside the container”参数。

    果然,这是docker run的时候用来设置工作路径的参数。然后搜索compose中的这个属性,谷歌了一下,找到了Docker的官方文档:

    working_dir, entrypoint, user, hostname, domainname, mem_limit, privileged, restart, stdin_open, tty, cpu_shares
    Each of these is a single value, analogous to its docker run counterpart

    果然,compose文件里面的配置直接对应了docker run后面的参数,此处应有微笑脸。

    回复
    0
  • 高洛峰

    高洛峰2017-04-24 09:13:18

    格式为 WORKDIR /path/to/workdir。
    为后续的 RUN、CMD、ENTRYPOINT 指令配置工作目录。

    比如
    WORKDIR /home/docker/

    之后执行的命令都默认在/home/docker/目录下

    如: vim key.json
    这文件实际的路径是/home/docker/key.json

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-24 09:13:18

    类似于命令行的当前所处目录

    回复
    0
  • 高洛峰

    高洛峰2017-04-24 09:13:18

    等价于linux…cd WORKDIR

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-24 09:13:18

    楼主,问题解决了要结题。有人3.25就回答了...

    回复
    0
  • 取消回复