Mark Ku's Blog
在 ChatGPT 開啟在 Claude 開啟

在 Windows Docker Desktop 中切換至 Windows Container,即可部署 ASP.NET 4.8 網站。透過 docker run 映射 port 80 為 888,再用 docker cp 將網站檔案複製到容器內。

安裝 windows Docker 相關軟體

1.power shell 安裝 docker 需要的相關軟體 (需系統管理員方式執行)

function Install-Chocolatey {
    try {
        Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'));
    }
    catch {
        $ErrorMessage = $_.Exception.Message;
        $FailedItem = $_.Exception.ItemName;
        Write-Host $ErrorMessage + $FailedItem;
        return $false;
    }
    return $true;
}

Write-Host "Install chocolatey"

Install-Chocolatey;

Write-Host "Install Docker Software"

choco install docker-desktop -y
choco install docker-compose -y
choco install docker-kitematic -y

2.重新啟動電腦後,開啟Docker Desktop,並切換成 Window Container Docker Desktop 選單切換 Windows 容器

建立 Asp net 網站容器

1.取得 aspnet docker 映像檔

docker pull mcr.microsoft.com/dotnet/framework/aspnet:4.8

2.建立 asp net 容器 ,將容器內的網站 port 號80 映射為本機電腦的888 port

docker run -it -d --isolation=process -p 888:80   mcr.microsoft.com/dotnet/framework/aspnet:4.8

# -i, --interactive (互動模式)
# -t, --tty         (配置一個終端機)
# -d, --detach      (在背景執行)
# -- isolation=process (隔離模式process 模式才有辦法用 docker cp)

3.透過 docker ps 列出目前運行的容易,並找到容器 id Windows PowerShell顯示Docker容器列表與狀態

4.切換到Release Asp.net 的程式目錄 ,並透過 docker cp 指令 copy Aspnet 網站到容器中的網站目錄。

C:\WebSite> docker cp . 5d3aadf8028b:c:/inetpub/wwwroot

5.此時 ASP.NET 程式己正式啟動 成功運行於Docker的ASP.NET網站頁面

補充1:透過下面的指令,可以開啟容器終端機,驗證是不是所有檔案都複製到容器中。

docker exec -it 5d3aadf8028b cmd

補充2: 建立新的映像檔

docker commit 5d3aadf8028b newImage

作者

Mark Ku

10 年以上的軟體工程師,做過北美電商與 AI SaaS 訂閱收費系統。現在經營貳陸資訊有限公司(www.226network.com),幫小公司做系統、網站、LINE BOT 與 AI 自動化,也在這裡分享開發筆記與開源工具。閱讀更多

覺得這篇有幫助?

作者做的免費工具、每日 Podcast 與電子報,都在這裡。

Mark Ku · 本文採用 CC BY 4.0 授權,轉載請註明作者並附上原文連結。

留言

訂閱電子報

訂閱後即時收到新文章通知,不錯過任何技術分享。

提交即表示同意接收電子報,隨時可

熱門文章

View all
Mark Ku
··655

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案
Mark Ku
··574

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南
Mark Ku
··318

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略
Mark Ku
··234

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調
Mark Ku
··231

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取
Mark Ku
··225

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1