日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

1 什么是Docker?

Docker是一個用于開發(fā),發(fā)布和運行應(yīng)用程序的開放平臺。Docker使您能夠?qū)?yīng)用程序與基礎(chǔ)架構(gòu)分開,從而可以快速交付軟件。借助Docker,您可以以與管理應(yīng)用程序相同的方式來管理基礎(chǔ)架構(gòu)。通過利用Docker的方法來快速交付,測試和部署代碼,您可以大大減少編寫代碼和在生產(chǎn)環(huán)境中運行代碼之間的延遲。

2 為什么需要Docker?

2.1 解決環(huán)境配置麻煩

一般我們寫程序,會有開發(fā)環(huán)境,測試環(huán)境,生產(chǎn)環(huán)境,很多bug都是環(huán)境問題。

過去部署的思路,在開發(fā)環(huán)境打包,想跑到Window環(huán)境下運行。我們得先在Window下載好.NET Framework,IIS等,配置好對應(yīng)的環(huán)境變量,將包丟到iis的webApps文件夾下,才能跑起來。

現(xiàn)在Docker的思路,可以將我們的想要的環(huán)境構(gòu)建成一個鏡像,然后我們可以推送到網(wǎng)上去。想要用這個環(huán)境的時候,在網(wǎng)上拉取一份就好了。

2.2 解決應(yīng)用之間隔離

大家一定遇到過在多個應(yīng)用部署在同一臺服務(wù)器上,有一個應(yīng)用出現(xiàn)了問題,導(dǎo)致CPU占100%,其他應(yīng)用也都受到影響。還有就是比如有些應(yīng)用用NET技術(shù),有些應(yīng)用用php技術(shù),這些不同應(yīng)用各種的依賴軟件都安裝在同一個服務(wù)器上,可能就會造成各種沖突/無法兼容。

2.3 Docker與虛擬機

Docker一個優(yōu)秀的應(yīng)用容器

 

對于虛擬機,主機服務(wù)器從下至上有三個基礎(chǔ)層:基礎(chǔ)架構(gòu),主機操作系統(tǒng)和虛擬機監(jiān)控程序,最重要的是每個虛擬機都有自己的操作系統(tǒng)和所有必要的庫。對于Docker,主機服務(wù)器僅具有基礎(chǔ)結(jié)構(gòu)和操作系統(tǒng),最重要的是容器引擎,該容器引擎使容器保持隔離狀態(tài),但共享基本的OS服務(wù)。

因為容器需要的資源要少得多(例如,它們不需要完整的操作系統(tǒng)),所以它們易于部署并且啟動迅速。這樣可以提高密度,這意味著可以在同一硬件單元上運行更多服務(wù),從而降低成本。

作為在同一內(nèi)核上運行的副作用,與VM相比,您獲得的隔離更少。

3 如何使用Docker?

首先,安裝Docker ,參考官方文檔。

  • mac
  • windows
  • Ubuntu
  • Debian
  • centos
  • Fedora

然后,創(chuàng)建Docker.WebApi01項目

確保已選擇“啟用 Docker 支持”復(fù)選框,選擇所需的容器類型(Windows 或 linux)。

Docker一個優(yōu)秀的應(yīng)用容器

 

接著,我們打開Dockerfile文件, 請參閱Dockerfile引用,了解其中的命令:

FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
WORKDIR /src
COPY ["Docker.WebApi01/Docker.WebApi01.csproj", "Docker.WebApi01/"]
RUN dotnet restore "Docker.WebApi01/Docker.WebApi01.csproj"
COPY . .
WORKDIR "/src/Docker.WebApi01"
RUN dotnet build "Docker.WebApi01.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "Docker.WebApi01.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Docker.WebApi01.dll"]

上面代碼含義說明:

  • FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base:指定基礎(chǔ)鏡像文件mcr.microsoft.com/dotnet/aspnet,標(biāo)記為5.0-buster-slim,別名為base。
  • WORKDIR /app:設(shè)置工作目錄為/app
  • EXPOSE 80:將容器 80 端口暴露出來, 允許外部連接這個端口。
  • COPY ["Docker.WebApi01/Docker.WebApi01.csproj", "Docker.WebApi01/"]:將 Docker.WebApi01/Docker.WebApi01.csproj 復(fù)制到 Docker.WebApi01/目錄下。
  • RUN dotnet restore "Docker.WebApi01/Docker.WebApi01.csproj":恢復(fù) Docker.WebApi01.csproj 項目的依賴項和工具。
  • RUN dotnet build "Docker.WebApi01.csproj" -c Release -o /app/build:生成 Docker.WebApi01.csproj 項目及其所有依賴項。
  • RUN dotnet publish "Docker.WebApi01.csproj" -c Release -o /app/publish:將應(yīng)用程序及其依賴項發(fā)布到文件夾以部署到托管系統(tǒng)。

接著,調(diào)試

在工具欄的調(diào)試下拉列表中選擇“Docker”,然后開始調(diào)試應(yīng)用。 你可能會看到提示信任證書的消息;選擇信任證書以繼續(xù)。

“輸出” 窗口中的“容器工具” 選項顯示正在進(jìn)行的操作。 第一次時,可能需要一些時間來下載基本映像,但在后續(xù)運行時速度要快得多。

最后,構(gòu)建及運行

docker build -t dockerwebapi01 -f ./Docker.WebApi01/Dockerfile .
docker run --rm -it -p 49181:443 dockerwebapi01

注意這里有一個坑直接在Dockerfile目錄下執(zhí)行會報以下錯誤:

=> ERROR [build 3/7] COPY [Docker.WebApi01/Docker.WebApi01.csproj, Docker.WebApi01/]

遇到這個問題有兩個解決方案,其一是把Dockerfile文件放到sln同一個目錄下,然后執(zhí)行docker build,另一個是本文采用的方法,在sln目錄下執(zhí)行,需要指定Dockerfile路徑

我們在瀏覽器上輸入: https://localhost:49181/WeatherForecast 看看效果

分享到:
標(biāo)簽:Docker
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達(dá)人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定