zoukankan      html  css  js  c++  java
  • asp.net core中DockerFile文件中的COPY

    今天在ubuntu系统中使用docker部署asp.net core时遇到了一个问题,docker build 的时候总会在最后一步提示

    lstat obj/Docker/publish: no such file or directory。

    并且执行docker images查看镜像的时候发现生成的镜像的REPOSITORY和TAG都是<none>。

    当执行docker run的时候提示

    Unable to find image 'crm:latest' locally

    联想到build的时候最后一步提示的obj/Docker/publish就猜想应该是这块出现的问题。查看DockerFile,内容如下

    FROM microsoft/aspnetcore:2.0
    ARG source
    WORKDIR /app
    EXPOSE 80
    COPY ${source:-obj/Docker/publish} .
    ENTRYPOINT ["dotnet", "crm.dll"]

    因为这个文件时vs2017自动生成的,所以平时也没注意,这里边有个COPY,里边的内容跟报错的一样,查了之后才知道当从Dockerfile 中 build Docker 镜像时候,可以选择两种指令来添加本地的目录或者文件到你的镜像中:ADD和COPY。这两种指令格式基本相同并且基本是同样的东西

    ADD <src>... <dest>
    COPY <src>... <dest>

    在这两种情况中,目录或者文件(<src>)被复制并添加到容器的文件系统中的指定路径(<dest>)

    COPY不支持URL,也不会特别对待压缩文件。如果build 上下文件中没有指定解压的话,那么就不会自动解压,只会复制压缩文件到容器中。

    因为我build的时候就是在包含Dockerfile文件的目录中,只需要将文件中-obj/Docker/publish修改为-/即可

  • 相关阅读:
    MyBatis中文文档
    网络编程
    Django
    Django
    Django
    Django
    Django
    Django
    Django
    Django
  • 原文地址:https://www.cnblogs.com/liemei/p/8143823.html
Copyright © 2011-2022 走看看