有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java这个docker run命令做什么?

我有一个docker run命令,我只是想知道-v "..":".." -w ".." maven mvn clean部分是什么。。。你在干什么

docker run --rm --name ${DOCKER_IMAGE_NAME}_build -v "$(pwd)":/usr/src/mymaven -w /usr/src/mymaven maven:3.6.0-jdk-8-alpine mvn clean install package

我认为它将操作系统“$(pwd)”上的本地卷映射到docker卷中的docker文件夹,即/usr/src/mymaven,然后,它在/usr/src/mymaven“文件夹中执行带有“w”的命令,但由于它在本地$pwd目录中执行的映射,所以它执行"maven:3.6.0-jdk-8-alpine mvn clean install package"部分,启动mvn构建过程,但是maven:3.6.0-jdk是什么呢... 我知道这是一个图像,但它如何知道从何处提取该图像,以及如何能够直接为该图像的maven执行该命令


共 (1) 个答案

  1. # 1 楼答案

    该命令的-v部分将卷绑定到要启动的容器。在本例中-v“$(pwd)”:/usr/src/mymaven 将当前目录作为/usr/src/mymaven添加到容器中

    命令的-w部分将容器中的工作目录设置为/usr/src/mymaven 那之后的部分呢

    maven:3.6.0-jdk-8-alpine->;这就是你要启动的容器

    mvn清洁安装包->;这是在容器中启动的命令(因此在/usr/src/mymaven工作目录中)

    基本上,这个run命令会启动一个容器,运行maven,并在当前目录中执行这项操作,您从该目录开始作为源代码运行

    有关参数的更多信息:docker doc on run arguments