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

浏览:30日期:2023-02-28

问题描述

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

问题解答

回答1:

你知道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后面的参数,此处应有微笑脸。

回答2:

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

比如WORKDIR /home/docker/

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

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

回答3:

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

回答4:

等价于linux…cd WORKDIR

回答5:

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

相关文章: