docker - 无法将文件正确复制到 docker 映像
问题描述
您好,我正在尝试在 docker 内重新创建image
我的主机文件夹,其中包含:
- 发布(包含 的文件夹
.NET app
) - dockerfile
- conf.json
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
文件放在它旁边。
我究竟做错了什么?
解决方案
所以我对此进行了测试。我将发布文件夹 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 和发布文件夹。希望这有帮助 如果您有任何问题,请告诉我
推荐阅读
- php - 如何仅在特定页面上显示类别?
- r - 边界上的 mle2 (bbmle) 参数估计,在 object@vcov 中产生的 NaN
- java - 将 Json HTTP 请求解析为管道(Groovy)的问题
- c++ - 使用串行通信 C++ 发送和接收浮点数
- apache-pig - 为什么不能从原始关系的别名中找到列,除非它存在
- ios - UIScrollView 约束问题
- winforms - 如何在 cmd 中使用 powershell 来拆分文件中的字符串而无需换行
- laravel - 使用 Laravel 将表格下载为 xls
- android - Admob 奖励广告以测试广告 ID 显示,但未以我的真实广告 ID 显示
- javascript - 编写一个反转数字的 JavaScript 函数