iT邦幫忙

0

ASP.NET Core 使用Docker發布後,網頁無法顯示

  • 分享至 

  • xImage

不好意思,小弟第一次使用Docker,在網路上收集各種資料後,試做了一遍,最後在DockerDesktop中有看到網頁有成功放入(DockerTest)(如圖1),但進入網址後,網頁呈現有誤(如圖2),想請教大大們,我是不是漏掉了甚麼環節,導致網頁沒辦法顯示。
https://ithelp.ithome.com.tw/upload/images/20220224/201433044yNk8FGXTG.png圖1

https://ithelp.ithome.com.tw/upload/images/20220224/20143304shcL6eO5HO.png
圖2

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["DockerTest/DockerTest.csproj", "DockerTest/"]
RUN dotnet restore "DockerTest/DockerTest.csproj"
COPY . .
WORKDIR "/src/DockerTest"
RUN dotnet build "DockerTest.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "DockerTest.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "DockerTest.dll"]

Dockerfile

看更多先前的討論...收起先前的討論...
Han iT邦研究生 1 級 ‧ 2022-02-24 14:58:43 檢舉
可以先點進去該 container 裡面看看有沒有任何 log 訊息
Han iT邦研究生 1 級 ‧ 2022-02-24 14:59:05 檢舉
也可以把 dockerfile po 出來讓各位看看,不然只從這點資訊無法幫你解答
andow1198 iT邦新手 4 級 ‧ 2022-02-24 15:10:26 檢舉
好,我更新一下
Han iT邦研究生 1 級 ‧ 2022-02-24 16:48:03 檢舉
可以試試看 docker ps 看一下 container 有沒有確實開啟 80 443 的 port
並且觀察你49155 有沒有對應到相對應的 port
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
JamesDoge
iT邦高手 1 級 ‧ 2023-02-20 09:24:44

這份 Dockerfile 的內容看起來沒有明顯的錯誤。

  1. 要檢查 Docker 容器內的應用程式是否正常運作,可以使用以下方法:
docker logs <container_name>

使用 docker logs 命令檢視容器的日誌,查看應用程式的輸出訊息以及錯誤訊息

  1. 透過執行命令的方式進入容器內部,檢查容器內的應用程式運作狀況,例如:
docker exec <container_name> <command>
  1. 透過 docker inspect 命令查看容器的狀態和資訊,例如:
docker inspect <container_name>
  1. 使用 docker-compose ps 命令查看 docker-compose.yml 檔案中定義的容器狀態,例如:
docker-compose ps

我要發表回答

立即登入回答