.NET Core開發的iNeuOS工業互聯平臺,iNeuKernel物聯網核心組件在Docker容器中部署。

来源:https://www.cnblogs.com/lsjwq/archive/2020/01/19/12213192.html

目 錄 1. 概述... 2 2. 演示信息... 2 3. 安裝Docker容器... 2 4. 安裝dotnet鏡像... 3 5. 複製iNeuKernel到容器中... 4 6. 進入指定容器... 4 7. 安裝dotnet框架... 4 8. 在Docker容器中運行iNeuKernel ...


目       錄

1.      概述... 2

2.      演示信息... 2

3.      安裝Docker容器... 2

4.      安裝dotnet鏡像... 3

5.      複製iNeuKernel到容器中... 4

6.      進入指定容器... 4

7.      安裝dotnet框架... 4

8.     在Docker容器中運行iNeuKernel物聯網框架... 5


 1.   概述

      最近有客戶需求:把iNeuOS部署在Docker下。以前實踐過部署在Linux的Ubuntu和樹莓派中。參見:https://www.cnblogs.com/lsjwq/p/11655093.htmlhttps://www.cnblogs.com/lsjwq/p/11716909.html

      這次我們實踐了把物聯網核心組件iNeuKernel部署在了Docker容器下,實踐證明.NETCore支持雲原生方面表現的很好。

      今天就放假了,放了15天。最後一天,發一篇文章。

2.   演示信息

     iNeuOS線上演示:http://demo.ineuos.net  (註:伺服器比較慢,請耐心等待。自已註冊用戶,體驗系統功能)

     視頻演示:http://www.ineuos.net/video/iNeuOS%20and%20app.mp4

     驅動開發:http://www.ineuos.net/index.php/products/ineukernel-15.html (v2.1版本)

     手機APP:http://demo.ineuos.net/app/ineuos_app.apk

3.   安裝Docker容器

(1)Update the apt package index:

   $ sudo apt-get update

 (2)Install packages to allow apt to use a repository over HTTPS:

$ sudo apt-get install \

    apt-transport-https \

    ca-certificates \

    curl \

    gnupg-agent \

    software-properties-common

 (3)Add Docker’s official GPG key:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

 (4)Verify that you now have the key with the fingerprint 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88, by searching for the last 8 characters of the fingerprint.

$ sudo apt-key fingerprint 0EBFCD88

 (5)Use the following command to set up the stable repository. To add the nightly or test repository

$ sudo add-apt-repository \

   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \

   $(lsb_release -cs) \

   stable"

 (6)Update the apt package index:

$ sudo apt-get update

 (7)Install the latest version of Docker Engine - Community and containerd:

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

 (8)Verify that Docker Engine - Community is installed correctly by running the hello-world image.

sudo docker run hello-world

4.   安裝dotnet鏡像

(1)在Docker容器中獲取dotnet鏡像

$ sudo docker pull microsoft/dotnet

 (2)查看當前已有的docker鏡像文件

$ sudo docker images

 (3)開始新建並運行一個以dotnet鏡像的容器

$ sudo docker run -it microsoft/dotnet
 (4)退出當前容器

$ exit

 (5)查看當前container id:

$ sudo docker ps –a

    如下圖:

5.   複製iNeuKernel到容器中

     從宿主機中複製文件到容器中:

$ sudo docker cp /home/developer/work/ iNeuKernelCore-linux-2.2/ 88a36edba257:/opt

     註:88a36edba257 為容器的ID。

6.   進入指定容器

(1)啟動容器:

$ sudo docker start 88a36edba257

 (2)進入容器:

$ sudo docker attach 88a36edba257

      註:其他容器命令,請搜索。

7.   安裝dotnet框架

$ wget -q https://packages.microsoft.com/config/ubuntu/19.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

$ sudo dpkg -i packages-microsoft-prod.deb

$sudo apt-get update

$sudo apt-get install apt-transport-https

$sudo apt-get update

$sudo apt-get install dotnet-sdk-2.2

      註:官網有詳細教程。

8. 在Docker容器中運行iNeuKernel物聯網框架

      在相應的目錄下運行:

[email protected]:/# cd /opt/ iNeuKernelCore-linux-2.2

[email protected]:/# dotnet iNeuKernel.Host.Core.dll

      運行效果如下圖:

  註:可以打包成鏡像,托管到第三方平臺,以後使用直接拉取到本地(docker pull)。


 文章:

 .NET Core開發的iNeuOS工業互聯網平臺,發佈 iNeuDA 數據分析展示組件,快捷開發圖形報表和數據大屏

 [視頻演示].NET Core開發的iNeuOS物聯網平臺,實現從設備&PLC、雲平臺、移動APP數據鏈路閉環

 .NET Core開發的iNeuOS物聯網平臺部署樹霉派(raspbian),從網關到雲端整體解決方案

 .NET Core開發的iNeuOS物聯網平臺部署在Ubuntu操作系統,無縫跨平臺

 iNeuOS 物聯網雲操作系統2.0發佈,集成設備容器、視圖建模、機器學習三大模塊

 iNeuOS雲操作系統,.NET Core全系打造


 物聯網&大數據技術 QQ群:54256083 

 物聯網&大數據合作 QQ群:727664080

 網站:http://www.ineuos.net

 聯繫QQ:504547114

 合作微信:wxzz0151

 


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

更多相關文章
  • 函數 函數參數 參數及返回值類型 可選參數 預設參數 剩餘參數 箭頭函數 基本示例 for of 迴圈 for 迴圈 forEach 不支持 break for in 會把數組當作對象來遍歷 for of 支持 break 類型推斷(Type Inference) 類型相容性 模塊 概念 模塊通信: ...
  • 解構賦值 數組解構 上面的寫法等價於: 利用解構賦值交換變數: 函數參數解構: 解構剩餘參數: 也可以忽略其它參數: 或者跳過解構: 對象解構 示例一: 就像數組解構,你可以用沒有聲明的賦值: 你可以在對象里使用 語法創建剩餘變數: 屬性解構重命名 你也可以給屬性以不同的名字: 註意,這裡的冒號 不 ...
  • Hello World 新建 並寫入以下內容: 安裝編譯器: 編譯: 修改 文件中的代碼,為 greeter 函數的參數 person 加上類型聲明 : 重新編譯執行。 讓我們繼續修改: 重新編譯,你將看到如下錯誤: 介面(Interface) 類(Class) 變數聲明 作用域 重覆聲明 塊級作用 ...
  • TypeScript 介紹 TypeScript 是什麼 TypeScript 是 JavaScript 的強類型版本。然後在編譯期去掉類型和特有語法,生成純粹的 JavaScript 代碼。由於最終在瀏覽器中運行的仍然是 JavaScript,所以 TypeScript 並不依賴於瀏覽器的支持,也 ...
  • 隨著你的 Python 項目越來越多,你會發現不同的項目會需要 不同的版本的 Python 庫。同一個 Python 庫的不同版本可能不相容。虛擬環境可以為每一個項目安裝獨立的 Python 庫,這樣就可以隔離不同項目之間的 Python 庫,也可以隔離項目與操作系統之間的 Python 庫。 1. ...
  • http請求在我們實際工作中天天見,為了不重覆造輪子,現在分享一下最近的一次封裝整理,供大家參考,交流,學習! ...
  • static void AggregateExceptionsDemo() { var task1 = Task.Factory.StartNew(() => { var child1 = Task.Factory.StartNew(() => { throw new CustomException ...
  • 本筆記摘抄自:https://www.cnblogs.com/PatrickLiu/p/7699301.html,記錄一下學習過程以備後續查用。 一、引言 今天我們要講結構型設計模式的第二個模式--橋接模式,也有叫橋模式的。橋在我們現實生活中經常是連接著A地和B地,再往後來發展,橋引申為一種紐 帶, ...
一周排行
  • 1. 泛型Generic 1.1 引入泛型:延遲聲明 泛型方法聲明時,並未寫死類型,在調用的時候再指定類型。 延遲聲明:推遲一切可以推遲的。 1.2 如何聲明和使用泛型 泛型方法:方法名稱後面加上尖括弧,裡面是類型參數 類型參數實際上就是一個類型T聲明,方法就可以用這個類型T了。 如下所示: pub ...
  • 本筆記摘抄自:https://www.cnblogs.com/PatrickLiu/p/7903617.html,記錄一下學習過程以備後續查用。 一、引言 今天我們要講行為型設計模式的第三個模式--迭代器模式,先從名字上來看。迭代是遍歷的意思,迭代器可以理解為是遍歷某某的工具,遍歷什麼呢?在軟 件設 ...
  • 本筆記摘抄自:https://www.cnblogs.com/PatrickLiu/p/7928521.html,記錄一下學習過程以備後續查用。 一、引言 今天我們要講行為型設計模式的第四個模式--觀察者模式,先從名字上來看。觀察者模式可以理解為既然有“觀察者”,那肯定就有“被觀察者”了。“觀察者” ...
  • 先看核心代碼: public List<DataEntity> SearchShopSalesReport(DateTimeOffset? dateFrom, DateTimeOffset? dateTo,string groupBy) { var query = data.DataEntity / ...
  • 首先新建一個項目,名稱叫Caliburn.Micro.ActionConvertions 然後刪掉MainWindow.xaml 然後去app.xaml刪掉StartupUri這行代碼 其次,安裝Caliburn.Micro,Caliburn.Micro.Core,這兩個Nuget包,如下圖 然後新 ...
  • 一文帶你瞭解 C DLR 的世界 在很久之前,我寫了一片文章 "dynamic結合匿名類型 匿名對象傳參" ,裡面我以為DLR內部是用反射實現的。因為那時候是心中想當然的認為只有反射能夠在運行時解析對象的成員信息並調用成員方法。後來也是因為其他的事一直都沒有回過頭來把這一節知識給補上,正所謂亡羊補牢 ...
  • ​ 在C#8.0中,針對介面引入了一項新特性,就是可以指定預設實現,方便對已有實現進行擴展,也對面向Android和Swift的Api進行互操作提供了可能性。下麵我們來看看該特性的具體規則與實現。 一、主要應用場景: 在不破壞影響已有實現的情況下,可以添加新成員。這解決了在第三方已經大量使用了的介面 ...
  • 前言 通常在應用程式開發到正式上線,在這個過程中我們會分為多個階段,通常會有 開發、測試、以及正式環境等。每個環境的參數配置我們會使用不同的參數,因此呢,在ASP.NET Core中就提供了相關的環境API,方便我們更好的去做這些事情。 環境 ASP.NET Core使用ASPNETCORE_ENV ...
  • 擱置了幾天,工作忙的一塌糊塗,今天終於抽空來繼續看看MVC的知識。先來看看MVC的路由是如何處理的。以下為替代的路由: app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{ ...
  • 多用www.bing.com國際版解決代碼報錯 代碼運行的時候,報異常,國內的搜索引擎一搜, 浮誇的廣告太多,解決方案准確性不足, 盜版又很嚴重(導致一錯皆錯),方案未及時更新等詬病。 www.bing.com國際版可以關聯到: (1). 外國官網,可以獲得官方的解決方案。 (2). stackov ...
x