日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET Core开发-Docker部署运行

發(fā)布時(shí)間:2023/12/4 asp.net 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET Core开发-Docker部署运行 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ASP.NET Core開發(fā)Docker部署,.NET Core支持Docker 部署運(yùn)行。我們將ASP.NET Core 部署在Docker 上運(yùn)行。

大家可能都見識(shí)過Docker ,今天我們就詳細(xì)了解一下Docker的用途,以及真實(shí)的應(yīng)用場(chǎng)景。

Docker源于PaaS,PaaS的應(yīng)用場(chǎng)景即是Docker的應(yīng)用場(chǎng)景。

Platform as a Service: 平臺(tái)即服務(wù), 是面向軟件開發(fā)者的服務(wù), 云計(jì)算平臺(tái)提供硬件, OS, 編程語言, 開發(fā)庫(kù), 部署工具, 幫助軟件開發(fā)者更快的開發(fā)軟件服務(wù). 比如Google的GAE.

八個(gè)Docker的真實(shí)應(yīng)用場(chǎng)景?http://dockone.io/article/126

Docker 最大優(yōu)勢(shì):

靜態(tài)打包:把應(yīng)用程序及其運(yùn)行時(shí)打包為一個(gè)鏡像;
動(dòng)態(tài)運(yùn)行:以一個(gè)應(yīng)用容器的形式運(yùn)行這個(gè)應(yīng)用。

我們無需再關(guān)心每個(gè)系統(tǒng)要安裝什么環(huán)境,直接將鏡像復(fù)制到系統(tǒng)中運(yùn)行。

一次打包,直接運(yùn)行。

參考Docker 的 logo ,我們可以將Docker 理解為鯨魚上的集裝箱,而鯨魚就是操作系統(tǒng)。

Docker 是一個(gè)集裝箱,將所有的環(huán)境打包好在一起,我們只需要考慮挪動(dòng)集裝箱。

?

下面我們就來正式開.NET Core 的Docker 之旅。

?

Docker 命令:

docker 命令相關(guān)了解。

docker images //鏡像列表docker ps -a //所有運(yùn)行過的容器
docker ps -l //最后運(yùn)行容器
docker export 容器id > 文件 //持久化容器
docker import 文件 //導(dǎo)入容器cat export.tar | docker import - linezero/demo-export:latest docker save 鏡像id > 文件 //持久化鏡像
docker load < 文件docker rm 容器id //刪除容器
docker rmi 鏡像id/鏡像名稱 //刪除鏡像
docker run 鏡像 //運(yùn)行

提示:可以使用 docker rm $(docker ps -q -a) 一次性刪除所有的容器,docker rmi $(docker images -q) 一次性刪除所有的鏡像。

?

ASP.NET Core 運(yùn)行于Docker

本文環(huán)境 :Ubuntu 14.04 ?Docker for Linux 1.11.2

?

首先我們創(chuàng)建一個(gè)ASP.NET Core 應(yīng)用。

dotnet new -t web

然后在Program.cs?添加?UseUrls("http://*:5000")

還原?dotnet restore

發(fā)布?dotnet publish

我們?cè)?publish 文件夾添加 Dockerfile文件

FROM microsoft/dotnet:latestCOPY . /appWORKDIR /appEXPOSE 5000/tcpENTRYPOINT ["dotnet", "aspnetcore.dll"]

最終?publish?目錄如下:

將publish 文件夾復(fù)制到Ubuntu系統(tǒng)

運(yùn)行構(gòu)建命令,構(gòu)建Docker 鏡像。?

docker build -t linezero/demo .

后面的點(diǎn)是需要的。

然后運(yùn)行容器

docker run -it -p 8080:5000 linezero/demo

?

容器跟鏡像的關(guān)系,一個(gè)鏡像可以創(chuàng)建多個(gè)容器。

如上面的,我可以再創(chuàng)建一個(gè)?docker run -d -p 8090:5000 linezero/demo?

-d 參數(shù)也就是后臺(tái)運(yùn)行,然后通過docker ps 可以看到容器運(yùn)行的狀態(tài),通過docker stop 容器id 停止。

?

Dockerfile ?Docker 容器配置文件

源碼模板

FROM microsoft/dotnet:latestCOPY . /appWORKDIR /appRUN ["dotnet", "restore"]RUN ["dotnet", "build"]EXPOSE 5000/tcpENTRYPOINT ["dotnet", "run"]

?

發(fā)布后模板

FROM microsoft/dotnet:latestCOPY . /appWORKDIR /appEXPOSE 5000/tcpENTRYPOINT ["dotnet", "xx.dll"]

以上模板都依賴于 ?microsoft/dotnet 鏡像,單獨(dú)安裝的命令為

docker pull?microsoft/dotnet

也可以先不安裝,build 的時(shí)候會(huì)為我們安裝。國(guó)內(nèi)速度可能有些慢,請(qǐng)耐心等待。

有了Docker dotnet 鏡像,你無需折騰dotnet sdk 安裝,鏡像自帶。

?

我們?nèi)绻雽ocker 放置到其他機(jī)器運(yùn)行,很簡(jiǎn)單。

直接保存鏡像,然后復(fù)制鏡像到其他機(jī)器,然后使用docker 命令load 既可。

docker save linezero/demo?> demo.tar

然后加載命令

docker load < demo.tar

然后就可以使用docker run 運(yùn)行程序了,無需關(guān)心程序需要哪些依賴。

原文地址:http://www.cnblogs.com/linezero/p/docker.html


.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注

總結(jié)

以上是生活随笔為你收集整理的ASP.NET Core开发-Docker部署运行的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。