Docker + .NET Core(三)-兩種發佈方式

来源:https://www.cnblogs.com/hanfan/archive/2019/01/09/10244331.html
-Advertisement-
Play Games

第一種,自己手寫dockerfile發佈,上傳至hubDocker 1. 正常發佈到文件夾中,發佈文件上傳至linux機器上。如 /www/app 2. 將Dockerfile文件也複製到同目錄 。/www/app 3. 輸入 ,構建一個demo名字的鏡像。這個時候就會構建鏡像,輸入 可以查看當剛剛 ...



第一種,自己手寫dockerfile發佈,上傳至hubDocker

  1. 正常發佈到文件夾中,發佈文件上傳至linux機器上。如 /www/app
  2. 將Dockerfile文件也複製到同目錄 。/www/app
  3. 輸入 docker image build -t demo .,構建一個demo名字的鏡像。這個時候就會構建鏡像,輸入docker images可以查看當剛剛生成的鏡像。也可以看到下麵會用到的IMAGEID
  4. 輸入docker run --name=demo -d -p 8000:80 -v /www/app:/app demo
  5. 這時候訪問ip:8000就可以了,輸入docker ps可以看到正在運行的容器的信息。
  6. 上傳鏡像到hubDocker,輸入docker login然後登錄。
  7. 打標簽docker tag IMAGEID hanfan/demo:1.0 推送docker push hanfan/demo:1.0
  8. 其他人就可以docker pull hanfan/demo:1.0拉取運行鏡像了。
  9. 使用Nginx反向代理
  10. 搞定

第二種,使用VS2017或者VS2019(其他的沒試過)

  1. 項目點右鍵添加Docker支持,選擇Liunx,也會生成一個dockerfile文件,這個文件的坑更加項目自己去排坑
  2. 點擊解決方案添加docker-compose項目
  3. 運行,這個時候會生成一個鏡像。輸入docker images可以查看。
  4. 鏡像都生成好了,就上第一種一樣的操作了
  5. 搞定

寫一個自己的dockerfile

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
COPY . .
RUN ln -s /lib/x86_64-linux-gnu/libdl-2.24.so /lib/x86_64-linux-gnu/libdl.so 
RUN echo "deb http://mirrors.aliyun.com/debian wheezy main contrib non-free deb-src http://mirrors.aliyun.com/debian wheezy main contrib non-free deb http://mirrors.aliyun.com/debian wheezy-updates main contrib non-free deb-src http://mirrors.aliyun.com/debian wheezy-updates main contrib non-free deb http://mirrors.aliyun.com/debian-security wheezy/updates main contrib non-free deb-src http://mirrors.aliyun.com/debian-security wheezy/updates main contrib non-free" > /etc/apt/sources.list
EXPOSE 80
RUN apt-get update
RUN apt-get install libgdiplus -y && ln -s libgdiplus.so gdiplus.dll

FROM base AS final
WORKDIR /app 
ENTRYPOINT ["dotnet", "xxxxx.dll"]

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 工具是使用AES-256-CBC加密演算法 問題 最近有客戶反映, 在使用我們工具時候,會出現“調用的目標發生了異常”錯誤, 接到反饋之後, 我們進行了很多測試,甚至得到客戶系統信息和framework版本, 但是都沒有得到復現。測試,debug,log列印各種嘗試,無果。 **報錯信息顯示:** 原 ...
  • 所謂OJ,顧名思義Online Judge,一個用戶提交的程式在Online Judge系統下執行時將受到比較嚴格的限制,包括運行時間限制,記憶體使用限制和安全限制等。用戶程式執行的結果將被Online Judge系統捕捉並保存,然後再轉交給一個裁判程式。該裁判程式或者比較用戶程式的輸出數據和標準輸出 ...
  • 什麼是人工智慧 人工智慧是電腦科學的一個分支,它企圖瞭解智能的實質,並生產出一種新的能以人類智能相似的方式做出反應的智能機器,該領域的研究包括機器人、語言識別、圖像識別、自然語言處理和專家系統等。 我們來談談人工智慧 人工智慧自誕生以來,技術日益成熟,應用領域也在不斷擴大,從我們日常用的智能音箱, ...
  • 一. 概述 介紹asp.net core路由時,我初步想了下,分幾篇來說明。 路由的知識點很多,參考了官方文檔提取出一些重要的知識點來說。 在ASP.NET Core中是使用路由中間件來匹配傳入請求的 URL 並將它們映射到操作(action方法)。路由是在程式啟動時進行傳統路由或屬性路由定義。 路 ...
  • C# 命令行編譯C#程式問題詳解。 在使用命令行編譯C#程式過程中,看似很簡單,實際上遇到了許多問題。我把我踩的坑列出來,希望對踩坑的朋友有所幫助。 步驟如下: 1.Windows+R 打開運行,notepad 打開記事本,添加如下代碼到記事本。 1 using System; 2 using Sy ...
  • ...
  • 1.Convert類型轉換 總結: 類型如果相相容的兩個變數,可以使用自動類型轉換或者強制類型轉換。 但是,如果兩個類型的變數不相容,比如string與int或者string 與double, 這個時候我們可以使用一個叫做Convert的轉換工廠進行轉換。 註意:使用Convert進行類型轉換,也需 ...
  • 清晨起床,震驚了,窗外一片雪白,大雪紛飛,我承認我詞窮了,說再多話也描述不了此刻的大好心情。所以,話不多說,先上一張朋友圈的圖吧! 趁著這麼“好的”天氣以及這麼好的心情突然想寫點東西記錄一下自己的2018這一年以及2019年的這一天以及對.NET Core的看法。 俗話說“瑞雪兆豐年”,其實我想說這 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...