一、背景 最近一直在看docker的教程,基礎知識看的差不多了。理論總要運用於實踐,所以下麵我們就來把最簡單的一個netcore網站托管到docker容器中。 環境:1、docker for windows 2、 .net core 2.2 二、創建一個簡單的netcore網站 2.1 使用 命令創 ...
一、背景
最近一直在看docker的教程,基礎知識看的差不多了。理論總要運用於實踐,所以下麵我們就來把最簡單的一個netcore網站托管到docker容器中。
環境:1、docker for windows
2、 .net core 2.2
二、創建一個簡單的netcore網站
2.1 使用dotnet new web
命令創建一個新的項目
2.2 使用dotnet run
命令編譯創建的項目
2.3 訪問驗證生成的netcore項目
至此,我們的netcore項目,已經在windows平臺上運行起來了。
三、編譯為linux運行文件,並編寫Dockerfile
3.1 使用dotnet publish --runtime ubuntu.16.04-x64
命令編譯為可在linux系統運行的文件
3.2 進入到編譯好的ubuntu.16.04-x64\publish\
文件夾下,編寫dockerfile
# 聲明使用的基礎鏡像
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
# 聲明工作目錄
WORKDIR /app
EXPOSE 80
COPY ./ ./
# 指定應用入口點 netcoretest.dll代表的是主程式文件
ENTRYPOINT ["dotnet", "netcoretest.dll"]
四、運行生成的鏡像、並驗證訪問
4.1 使用docker build -t netcoretest .
製作鏡像
我們可以使用docker image ls
查看剛製作成功的鏡像
4.2 使用生成的鏡像,運行到docker
運行命令docker run -it -d -p 8072:80 --name netcoretest netcoretest
4.3 查看運行成功的容器
4.4 訪問容器中的網站http://localhost:8072
訪問成功,我們已經成功地把netcore的網站托管到docker容器中
五、總結
將網站托管到容器中,是一種比較新的技術,代表著新的方向。
我們可以將問題拆解為,先編寫netcore程式,驗證程式在linux平臺上運行成功後,再來將程式托管到docker中。
參考文章:
1.https://www.cnblogs.com/xiaoerlang90/p/10285410.html
2.https://www.cnblogs.com/hulizhong/p/10698584.html