【发布时间】:2021-10-01 09:52:32
【问题描述】:
我正在尝试使用以下guide 在树莓派 pi4 上设置一个简单的容器。 出于某种原因,我总是遇到以下错误:
[0mservice "my-api" 既没有指定图像也没有指定构建上下文:无效的组合项目 docker-compose
由于这是我的第一个“真正的” docker 容器设置,我不知道现在该做什么。我真的查找了我可以通过谷歌搜索找到的每一个问题(甚至用 bing 尝试过,是的,很绝望)。但我真的找不到像样的指南/答案。
我将附上我的 docker 文件: 码头工人撰写:
version: "3.9"
services:
web:
build: .
ports:
- "8000:80"
depends_on:
- db
db:
image: "mcr.microsoft.com/mssql/server"
environment:
SA_PASSWORD: "Your_password123"
ACCEPT_EULA: "Y"
DockerFile(API 项目)
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this
Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/aspnet:5.0.302-buster-slim-amd64 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:5.0.302-buster-slim-amd64 AS build
WORKDIR /src
COPY ["my-api/my-api.csproj", "my-api/"]
RUN dotnet restore "my-api/my-api.csproj"
COPY . .
WORKDIR "/src/my-api"
RUN dotnet build "my-api.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "my-api.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "my-api.dll"]
RUN chmod +x ./entrypoint.sh
CMD /bin/bash ./entrypoint.sh
入口点.sh
#!/bin/bash
set -e
run_cmd="dotnet run --server.urls http://*:80"
until dotnet ef database update; do
>&2 echo "SQL Server is starting up"
sleep 1
done
>&2 echo "SQL Server is up - executing command"
exec $run_cmd
如果有人能把我推向正确的方向,那就太棒了
【问题讨论】:
标签: sql-server docker .net-core docker-compose dockerfile