带有asp.net核心错误的dockerfile运行dotnet发布

时间:2020-10-26 02:05:29

标签: docker asp.net-core

当我使用docker build时,出现以下错误:error image

我已将docker文件上的相对路径更改为将--from=build-env更改为bin/Release/netcoreapp3.1/publish/的绝对路径,但是当我使用docker-compose时再次显示错误

Dockerfile

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "SmartSchool.WebAPI.dll"]

docker-compose

version: "3.8"

volumes:
    SmartSchoolDb:

networks:
    mysqlNET:
    smartschoolNET:

services:

    mysql:
        image: "mysql:5.7"
        container_name: mysql
        ports:
            - "3306:3306"
        volumes:
            - SmartSchoolDb:/var/lib/mysql
        networks:
            - mysqlNET
        environment:
            - MYSQL_USER=root
            - MYSQL_PASSWORD=test
            - MYSQL_ROOT_PASSWORD=test
            - MYSQL_ROOT_HOST=%
            - bind-address:0.0.0.0

    smartschool:
        build:
            context: .
            dockerfile: Dockerfile
        container_name: smart
        networks:
            - mysqlNET
            - smartschoolNET
        ports:
            - 5000:80
        environment:
            - DBHOST=mysql
        depends_on:
            - mysql

1 个答案:

答案 0 :(得分:0)

我添加了使用vscode命令ctrl + shift + pdocker: add docker files to workspace创建的.dockerignore

我在下面使用了这个.dockerignore

**/.classpath
**/.dockerignore
**/.env
**/.git
**/.gitignore
**/.project
**/.settings
**/.toolstarget
**/.vs
**/.vscode
**/*.*proj.user
**/*.dbmdl
**/*.jfm
**/azds.yaml
**/bin
**/charts
**/docker-compose*
**/Dockerfile*
**/node_modules
**/npm-debug.log
**/obj
**/secrets.dev.yaml
**/values.dev.yaml
README.md
bin/
obj/
out/
TestResults/