.net 4.5部署到docker容器的完整步驟
前言
本文主要給大家介紹了關(guān)于.net 4.5部署到docker容器的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧
.net4.5部署到docker容器
- 部署到windows容器
- 部署到linux容器
部署到windows容器
由于.net本身就是運(yùn)行在windows平臺的,所以它與windows容器也是更加適合,你可以以iis鏡像為基礎(chǔ),去編寫你的Dockerfile文件,從而去構(gòu)建你的.net項目鏡像。
1.兩個現(xiàn)成的例子
.net console程序
docker run --rm mcr.microsoft.com/dotnet/framework/samples:dotnetapp
.net web程序
docker run -it --rm -p 8000:80 --name aspnet_sample mcr.microsoft.com/dotnet/framework/samples:aspnetapp
1.為自己項目添加一個Dockerfile構(gòu)建鏡像
FROM microsoft/aspnet ARG source WORKDIR /inetpub/wwwroot COPY ${source:-obj/Docker/publish} .
參考:https://docs.microsoft.com/en-us/aspnet/mvc/overview/deployment/docker-aspnetmvc
部署到linux容器
對于非.net core的應(yīng)用程序來說,要想在linux平臺運(yùn)行需要安裝mono框架,這是在linux平臺運(yùn)行.net程序的唯一方法,那么如果想把.net程序部署到linux容器里,也是一樣的方法過程,你需要構(gòu)建一個安裝有mono環(huán)境的鏡像。
為自己的項目添加一個基于mono的Dockerfile
制作一個console app的Dockerfile并運(yùn)行
FROM mono:latest RUN mono --version WORKDIR /app COPY ./bin/Debug/ . CMD [ "mono", "monoApp.exe" ]
打包鏡像
cd monoapp #Docfile所在目錄,它一般在項目根目錄 docker build . -t monoapp docker run monoapp
執(zhí)行結(jié)果
MacBook-Pro-6:monoApp lind.zhang$ docker run monoapp Hello World! MacBook-Pro-6:monoApp lind.zhang$
制作一個.net web的Dockerfile并運(yùn)行
前提:我們的web項目要想運(yùn)行,需要有一個像IIS一種的服務(wù)器組件,在linux里我們一般使用jexus來實現(xiàn)這個功能,也就是說,我們的docker鏡像應(yīng)該即有mono還要有jexus的集成,這個鏡像我們可以自己寫,也可以使用現(xiàn)成的鏡像azraelrabbit/monupw,下面的Dockerfile是把一個web項目monoMvc打包成一個鏡像。
先把鏡像拉到本地
docker pull azraelrabbit/monupw
部署的步驟
- 建立Dockerfile文件,發(fā)布網(wǎng)站時應(yīng)該帶上
- 發(fā)布網(wǎng)站
- 進(jìn)行發(fā)布后的地址
- 打包 docker build . -t 鏡像名稱
- 啟動容器 docker run -d -p 8080:80 鏡像名稱
編寫Dockerfile文件
FROM azraelrabbit/monupw EXPOSE 80 WORKDIR /data COPY ./bin/ .
啟動你的容器,對外訪問用8080端口,容器內(nèi)部是80端口
MacBook-Pro-6:monoMvc lind.zhang$ docker run -p 8080:80 monomvc Starting ... OK
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
相關(guān)文章
詳解ASP.NET數(shù)據(jù)綁定操作中Repeater控件的用法
.NET中的Repeater控件支持?jǐn)?shù)據(jù)模板,而且可以自由地定義樣式,這里我們就來詳解ASP.NET數(shù)據(jù)綁定操作中Repeater控件的用法,需要的朋友可以參考下2016-06-06ASP.NET Core實現(xiàn)單體程序的事件發(fā)布/訂閱詳解
這篇文章主要給大家介紹了關(guān)于ASP.NET Core實現(xiàn)單體程序的事件發(fā)布/訂閱的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03asp.net動態(tài)獲取Excel表名的函數(shù)代碼
asp.net動態(tài)獲取Excel表名的函數(shù)代碼,需要的朋友可以參考下。2011-02-02Visual Studio 2017如何用正則修改部分內(nèi)容詳解
這篇文章主要給大家介紹了關(guān)于Visual Studio 2017如何用正則修改部分內(nèi)容的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05asp.net自定義控件中注冊Javascript問題解決方案
這篇文章主要介紹了asp.net自定義控件中注冊Javascript的問題,需要的朋友可以參考下2014-05-05Asp.net FileUpload上傳文件夾并檢測所有子文件的實現(xiàn)代碼
這篇文章主要介紹了Asp.net FileUpload上傳文件夾并檢測所有子文件的實現(xiàn)代碼,需要的朋友可以參考下2017-05-05