我们可以使用WORKDIR
将目录设置为Dockerfile
中的工作目录,但如果我们没有设置,那么默认值是什么?
答案 0 :(得分:38)
表示它是/
,因此根目录
答案 1 :(得分:11)
如其他地方所述,默认值为/
。但值得一提的是,您几乎永远不会从空的泊坞窗图像(FROM scratch
)运行,因此WORKDIR
很可能是由您正在使用的基本图像设置的。
例如,https://github.com/docker-library/tomcat/blob/master/Dockerfile-alpine.template有WORKDIR $CATALINA_HOME
,https://github.com/dockerfile/ubuntu/blob/master/Dockerfile有WORKDIR /root
。 (https://hub.docker.com/r/base/archlinux/~/dockerfile/不使用WORKDIR
。)
因此,最好明确设置自己的WORKDIR
。
答案 2 :(得分:6)
在容器中运行二进制文件的默认工作目录是根目录(/
),但开发人员可以使用Dockerfile WORKDIR命令设置不同的默认值。操作员可以通过以下方式覆盖:
-w="": Working directory inside the container
答案 3 :(得分:4)
因为在刚出生的码头工人或容器中根本没有用户而是根。因此,对于每个更改,将会有一个对该容器的提交,正如guy所述。因此,默认情况下,当您执行/
时,或者您对WORKDIR的询问是/bin/bash
root:
$docker exec -i -t 53f784fwer54 /bin/bash
在正在运行的容器上,它会将您/
放在根目录中。