2020年12月24日 星期四

Docker Asp.Net Core建立Image(4)

測試了半天Dockerfile的部分還是不太懂
依微軟的的範例好像也做不太出來(功力太淺)
網路上找到了[個人筆記] docker個人筆記進行測試後修改居然可以使用
來看一下我的目錄吧
一個方案四個專案將Dockerfile放一起
撰寫Dockerfile(這邊是重點寫錯就無法成功)
內容為何可參考如何將 ASP.NET Core 2.1 網站部署到 Docker 容器中
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR app

# copy csproj and restore as distinct layers
COPY *.sln .
COPY coresample.language/*.csproj ./coresample.language/
COPY coresample.model/*.csproj ./coresample.model/
COPY coresample.service/*.csproj ./coresample.service/
COPY coresample.web/*.csproj ./coresample.web/

# copy everything else and build app
COPY coresample.language/. ./coresample.language/
COPY coresample.model/. ./coresample.model/
COPY coresample.service/. ./coresample.service/
COPY coresample.web/. ./coresample.web/
RUN dotnet publish -c Release -o out

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS runtime
ENV ASPNETCORE_URLS=http://+:8080
WORKDIR /app
EXPOSE 8080/tcp
COPY --from=build /app .
ENTRYPOINT ["dotnet", "coresample.web.dll"]
2022-08-31補充vs2022在專案 > 右鍵 > 加入 > Docker支援也可跑出上述功能
到專案料夾底下打開powershell執行
docker build -t samplecore .
中間略...
Successfully built da35a45ea2bf
Successfully tagged samplecore:latest
開啟軟體Docker Desktop
也可輸入以下
指令 名稱 port 來源image
docker run -d  --name=MyFistApp -p 8081:80  samplecore:latest  
輸入資料 > Run
在瀏覽器中顯示
剛剛的步驟產生了許多image
藍色:IN USE的
紅色:可刪除
紫色:可留著重複使用
參考來源
[個人筆記] docker個人筆記
如何將 ASP.NET Core 2.1 網站部署到 Docker 容器中