我正在尝试将一个dockerfile放入我的主启动项目AppMain
的子目录中。AppMain
有一个称为AppDependency
的依赖项项目。当dockerfile位于appmain
的根目录中时,所有文件都正常工作,但当它嵌套在appmain
的子目录中时,它将失败
4>Step 5/20 : COPY ["AppMain/AppMain.csproj", "AppMain/"]
4>COPY failed: stat /var/lib/docker/tmp/docker-builder453314675/AppMain/AppMain.csproj: no such file or directory
这对我来说是有意义的,因为它嵌套在子目录中,所以我只是在COPY命令前面添加了一个“../”,但这会导致以下上下文异常:
4>COPY failed: Forbidden path outside the build context: ../AppMain/AppMain.csproj ()
好的,这也是有意义的,因为docker文档说明上下文从dockerfile所在的地方开始,但这让我提出了真正的问题。
apPreference
项目时不会失败呢?该项目显然在docker文件所在位置的上方,并且在上下文之外,因为它必须上一个目录,然后下到apPreference
项目?下面列出了整个docker文件。
FROM mcr.microsoft.com/dotnet/core/runtime:2.2-Strett-Slim作为基础
工作目录/应用程序
运行dotnet还原“appmain/appmain.csproj”
收到。.
WORKDIR“/src/appmain”
入口点[“dotnet”,“appmain.dll”]
当使用docker Build-t xxx.
在子目录中生成时,只有.
中的内容将提交给docker后台进程以进行docker build
。父文件夹中的东西将无法提交到docker引擎进行构建。
因此,您需要用cd..
将执行目录移回父文件夹,然后使用next构建,然后它会将.
发送到引擎,该文件现在是父文件夹的内容(但您现在需要指定dockerfile,如下所示)
docker build -t xxx -f ./YOUR_Subdirectory/Dockerfile .
我有以下文件夹结构: 我有我的micro-hr文件夹,其中是我的主包,我有一个本地lib,它是rabbitmq 这是我的dockerfile: docker撰写: 这是我的包裹。我的主包后端/微hr上的json: 我不知道我错在哪里,基本上我在我的主包中使用npm链接链接到我的lib,并尝试在docker中创建文件夹,但无济于事。 docker构建错误: 步骤6/10:复制/rabbitmq/包。
我有一个包含各种Go服务和库的monorepo。目录结构如下所示: 这<代码>开始。mod文件位于monorepo目录的根目录中,服务使用该文件中声明的依赖项。 我使用以下命令构建Docker图像: 当我尝试使用上述Docker命令从monorepo目录的根构建Docker图像时,我得到以下错误: 复制失败:生成上下文之外的禁止路径:/去mod() 下面是我的Dockerfile 我需要做些什么才
这是项目结构 这是docker文件
在Spring-Boot应用程序中,可以使用中的属性来选择上下文路径,但是由于我使用的是外部Tomcat8,因此没有使用该属性。 因此,我查看了tomcat-8文档,其中指出: 如果要使用与基文件名无关的上下文路径部署WAR文件或目录,则必须使用以下选项之一来防止双重部署: null null
我的本地服务器上有一个工作的Docker Compose,现在我必须转到prod,我只是复制了prod服务器上的整个目录,相同的目录结构、配置文件等。但是当我运行Docker Compose命令(Docker-Compose-f Docker-Compose.dev.yml up)时,它抛出了以下错误: 步骤 7/28 : 复制 ../../data_acquisition_survey_api/
我试图实现的是:我想在一个容器中缓存当前的users目录,以便在构建另一个容器时使用它们。 以下是的内容: 在我的服务Dockerfile中,我有以下内容: docker compose没有将服务中的路径视为与docker-compose.yml相关的路径,而是假设它与路径相关。是否可以让docker-compose从与docker-compose.yml相同的目录加载并按照我的方式设置上下文?