docker run 默认工作目录 -w 参数

Posted catoop

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker run 默认工作目录 -w 参数相关的知识,希望对你有一定的参考价值。

运行 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)

以上是关于docker run 默认工作目录 -w 参数的主要内容,如果未能解决你的问题,请参考以下文章

docker run配置参数

docker for linux

docker run 参数详解

运行docker-compose run时始终包含参数

使用docker-compose简化docker run 运行参数

Run的流程和Docker原理