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