首页 > 解决方案 > 无法将文件正确复制到 docker 映像

问题描述

您好,我正在尝试在 docker 内重新创建image我的主机文件夹,其中包含:

dockerfile

FROM microsoft/aspnetcore 
WORKDIR /app
ADD . /app
ENTRYPOINT ["dotnet","/publish/Bench.dll"]
EXPOSE 8300

当我试图查看它使用它创建docker exec -it <id> bash的内容时,只需将所有内容publish放入其中app而不复制conf.json

我也尝试过
COPY . /app,
COPY /publish /app+COPY conf.json /app无济于事。无论我在尝试什么,它都不会复制文件夹as-is,也不会将json文件放在它旁边。

我究竟做错了什么?

标签: dockerdockerfiledocker-image

解决方案


所以我对此进行了测试。我将发布文件夹 dockerfile 和 conf.json 放在构建映像的同一目录中。那是关键。这里我使用 nginx 作为我的基础镜像。以下是我用来构建 nginx 镜像的命令

docker build -t test/nginx .

dockerfile如下。所以我使用 RUN 命令创建了应用程序目录。如果该目录不存在,您将不得不在 .net 中使用类似的命令来创建该目录。还要注意 docker build 日志。它会告诉你重要的事情。如果需要,您还可以在 dockerfile 中添加 ls 命令以列出文件夹中的文件/app

FROM nginx
RUN mkdir /app
WORKDIR /app
ADD . /app

从我构建的映像创建容器后,我可以导航到 /app 文件夹并在其中查看我的 Dockerfile、config.json 和发布文件夹。希望这有帮助 如果您有任何问题,请告诉我


推荐阅读