iT邦幫忙

0

有趣的Docker問題

  • 分享至 

  • xImage

有一個解決方案內有兩個專案,一個是程式庫 Modules,一個是網站Web01,這個網站原本是沒有用容器化的方式偵錯的,現在把它拷貝出來以容器化的方式建立,是可以正常執行,但有些地方是有點奇怪的:

  1. Web01.Styles.css 這一個檔案重建對應後 所產生的ID號碼與HTML原碼不一致,導致頁尾的部分有點怪異,對不上footer的號碼。
  2. 用 Chart.js 生成的圖檔,較複雜的直接不顯示。

以上問題附上Docker檔案想請教版上高手或高高高手,謝謝。

https://ithelp.ithome.com.tw/upload/images/20240729/20124014TtfphLc45H.png
正常是一排 且ID資料是(一致) 對的上的。

# 使用官方的 .NET SDK 基礎映像
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env
WORKDIR /app

# 複製 csproj 並還原任何相依項目
COPY Web01/Web01.csproj Web01/
COPY Modules/Modules.csproj Modules/
RUN dotnet restore Web01/Web01.csproj

# 複製所有其他文件並建立專案
COPY . .
RUN dotnet publish Web01/Web01.csproj -c Release -o /app/out

# 建立執行階段映像
FROM mcr.microsoft.com/dotnet/aspnet:6.0
WORKDIR /app

# 複製建置好的應用程序
COPY --from=build-env /app/out .

# 設定系統時區為 +08:00
RUN ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime && dpkg-reconfigure -f noninteractive tzdata

# 設定系統語言為繁體中文
ENV LANG zh_TW.UTF-8
ENV LANGUAGE zh_TW:zh
ENV LC_ALL zh_TW.UTF-8

# 暴露應用程序端口
EXPOSE 5000

# 定義容器啟動時執行的命令
ENTRYPOINT ["dotnet", "Web01.dll"]
DanSnow iT邦好手 1 級 ‧ 2024-07-31 09:50:15 檢舉
通常這類問題是你建置時的環境不一致導致的,但這個只看 Dockerfile 也看不來問題出在哪,建議你當作一般的網頁出 bug ,先看瀏覽器的 devtool 有沒有顯示錯誤,或是跟原本正常的網頁比較,找出差異點,再來看怎麼修正
kw6732 iT邦研究生 4 級 ‧ 2024-07-31 17:29:13 檢舉
"建置時的環境不一致導致" 的確是如此,我用Google找了一段時間,得到的答案也大約如此,的確我有用DevTool來檢查過,是知道答案可能這樣,又不想繞過 dotnet的生成機制解決,才上來這裡發問。
謝謝你,從你的答案中,我已經有大致的解法了。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答