我们可以WORKDIR
在 中设置一个目录为工作目录Dockerfile
,但是如果我们不设置,默认值是多少呢?
4 回答
说是/
,所以根目录
默认值确实/
如其他地方所述。值得一提的是,您几乎永远不会从一个空的 docker 镜像 ( 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
明确设置您自己的。
在容器中运行二进制文件的默认工作目录是根目录 ( /
),但开发人员可以使用 Dockerfile WORKDIR 命令设置不同的目录。操作员可以通过以下方式覆盖它:
-w="": Working directory inside the container
因为没有用户,只有一个刚出生的 docker 或严格来说容器中的根。因此,正如这个人所说,对于每个更改都会对该容器进行提交。因此,默认情况下,或者您询问 WORKDIR 的密码是/
root 并且每次您执行/bin/bash
这样的操作时:
$docker exec -i -t 53f784fwer54 /bin/bash
在正在运行的容器上,它会将您放在/
根目录中。