容器 工作目录
在使用 docker run
命令启动容器时,最后指定的命令(例如 ./start.sh
)通常是在容器的工作目录中执行的。默认情况下,Docker 容器的工作目录是 /
,但可以通过 -w
或 --workdir
参数来指定不同的工作目录。
例如,如果你运行以下命令:
<BASH>
docker run -it --name mycontainer -v /host/path:/container/path -w /container/path myimage ./start.sh
在这个例子中,./start.sh
会在容器的 /container/path
目录中执行,因为我们使用了 -w /container/path
参数来指定工作目录。
如果没有指定 -w
参数,./start.sh
会在 Dockerfile 中定义的 WORKDIR
中执行。如果 Dockerfile 中也没有定义 WORKDIR
,那么默认的工作目录就是 /
。
你可以通过以下方法查看容器的工作目录:
- 检查 Dockerfile:看看是否有
WORKDIR
指令。 - 检查
docker run
命令中是否使用了-w
参数。 - 在容器内部运行
pwd
命令来确认当前的工作目录