运行 docker 容器时,有时候我们希望它默认进入一个工作目录,我们可以在 docker run 命令后追加参数 -w
来实现,这样我们就不需要在启动 docker 容器后再进行一次 cd 命令了。
docker run --help
帮助中 -w
的释义如下:
-w, --workdir string Working directory inside the container
以构建 maven 项目为例如下:
docker run -it --rm \
-v /code/spring-boot-demo/:/spring-boot-demo \
-w /spring-boot-demo \
--name maven maven:3.8.6-jdk-8 \
mvn clean package -T 1C -Dmaven.test.skip=true -Dmaven.compile.fork=true
参数说明:
--name
指定了容器创建后的名称(使用 --rm 时不建议指定 --name,防止并发 run 时同名报错)-v
参数挂载目录,将宿主机的文件夹挂载到容器中--rm
表示容器运行退出后自动清除挂载卷,等价在容器退出后执行 docker rm -v
,指定 --rm
参数启动容器时通常不使用 -d
参数-w
指定容器启动后的默认工作目录,全称是 --workdir
-T 1C
参数表示使用每个 CPU 核心跑一个工程(适用 Maven 3.x 以后版本)-Dmaven.test.skip=true
表示跳过执行 Unit 测试用例-Dmaven.compile.fork=true
表示使用多线程进行编译(END)