当我使用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
答案 0 :(得分:0)
我添加了使用vscode命令ctrl + shift + p
和docker: 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/