.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地,再往後來發展,橋引申為一種紐 帶, ...
一周排行
  • 本文將介紹如何在.NET Core3環境下使用MVVM框架Prism的使用區域管理器對於View的管理 一.區域管理器 我們在之前的Prism系列構建了一個標準式Prism項目,這篇文章將會講解之前項目中用到的利用區域管理器更好的對我們的View進行管理,同樣的我們來看看官方給出的模型圖: 現在我們 ...
  • 前言: gRPC預設是ProtoFirst的,即先寫 proto文件,再生成代碼,需要人工維護proto,生成的代碼也不友好,所以出現了gRPC CodeFirst,下麵來說說我們是怎麼實現gRPC CodeFirst 目錄: 實現和WCF一樣的CodeFirst (1). 實現gRPC CodeF ...
  • [toc] 1.背景 接上篇文章 "深入淺出C 結構體——封裝乙太網心跳包的結構為例" ,使用結構體性能不佳,而且也說明瞭原因。本篇文章詳細描述了以類來封裝網路心跳包的優缺點,結果大大提升瞭解析性能。 2.用類來封裝乙太網心跳包的優缺點 2.1.優點 + 可以在類里直接new byte[],即直接實 ...
  • VS2013如何轉成VS2010且不會出現此項目與Visual Studio的當前版本不相容的報錯 解決方法: 1.用記事本打開解決方案文件“解決方案名.sln”,然後修改最上面兩行為如下代碼:Microsoft Visual Studio Solution File, Format Version ...
  • 傳遞數據至部分視圖: 在ps.cshtml中get到上面高亮的參數: ...
  • 三、C#數據類型 3.1.變數 聲明->賦值->使用 作用域:變數作用域為包含它的大括弧內 3.2.常量 1)const 數據類型 常量名稱 = 常量值 聲明常量時一定要賦值 2)@作用 輸出轉義字元 @"Hello World\n" 讓字元串換行 關鍵字用作標識符 @namespace @clas ...
  • 四、C#表達式與運算符 4.1.表達式 操作數+運算符 4.2.數學運算符 var++ 先用後加 ++var 先加後用 4.3.賦值運算符 略 4.4.關係運算符 結果只會是bool類型 1)對象的不同 數值類型比較兩個數的大小 字元類比較Unicode編碼大小,'A'=65 'a'=97 '0'= ...
  • 下麵的靜態代碼中: 現在想把箭頭所指的值,改為動態。 根據不同條件,它將有可能是1,或是3或是2或是5等。 ...
  • 使用Xaml+C#,使WPF/UWP運行在Linux和Mac上 ...
  • 前言 C 的lambda和Linq可以說是一大亮點,C 的Lambda無處不在,Linq在數據查詢上也有著舉足輕重的地位。 那麼什麼是Linq呢,Linq是 (語言集成查詢)的縮寫,可以對本地對象 集合 或者遠程數據源進行結構化的查詢操作。 那什麼又是Lambda呢?嗯,簡單來講就是匿名函數,我們不 ...
x