在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用Docker容器做更多事情

郭大 ? 來源:大連云港 ? 作者:大連云港 ? 2022-07-18 17:42 ? 次閱讀

無處不在的物聯(lián)網(wǎng)設(shè)備需要服務(wù)器允許“邊緣”設(shè)備執(zhí)行重要的任務(wù)。但是,設(shè)置服務(wù)器是一項艱巨的任務(wù)。必須滿足特定應(yīng)用程序的適當依賴關(guān)系。有時,需要相互依賴的軟件的確切版本來滿足互操作性。此外,一旦服務(wù)器經(jīng)過配置和測試以適用于特定任務(wù),就必須記錄確切的配置以供將來復制。最后,不同應(yīng)用程序和任務(wù)的依賴關(guān)系可能會發(fā)生沖突,可能需要完全獨立的服務(wù)器進行隔離。

作為嵌入式軟件工程師,構(gòu)建和配置服務(wù)器以測試邊緣設(shè)備上的特定功能幾乎是不必要的。相反,可以利用容器技術(shù)來設(shè)置一個簡單的服務(wù)器來執(zhí)行單個任務(wù)。多個容器可以組合形成一組虛擬服務(wù)器,以與運行在物聯(lián)網(wǎng)設(shè)備上的不同應(yīng)用程序進行交互。在本文中,我們將介紹 Docker 在這方面提供的一些功能。

本文將重點介紹 Hawkbit,它是一個服務(wù)器端應(yīng)用程序,可用于更新基于 Linux 的邊緣設(shè)備;SWUpdate 名義上在邊緣設(shè)備上運行以管理更新過程。由于 Hawkbit 在服務(wù)器上運行,因此最好在 Docker 映像中運行它,以避免遇到上述問題。

幸運的是,Docker 提供了Hawkbit 的標準鏡像使用 Hawkbit 運行容器的 Docker 標準調(diào)用如下:

$> docker run -d -p 8888:80 hawkbit/hawkbit-update-server

上面的docker run命令傳遞了-d選項,該選項指示它作為守護進程在后臺運行。選項8888:80指示 Docker 將在主機(即運行 Docker 的機器)的端口 8888 上接收到的所有數(shù)據(jù)轉(zhuǎn)發(fā)到 Docker 容器的端口 80。出于安全原因,建議執(zhí)行從主機到 Docker 容器的“端口轉(zhuǎn)發(fā)”。某些 Web 應(yīng)用程序有一些常用端口,不建議在主機上打開這些端口。如果它們在主機上保持打開狀態(tài),則攻擊者可以使用這些端口訪問機器。相反,如果在主機上使用非標準端口(例如 8888),則安全威脅會降低。

有時,由于配置錯誤,Docker 容器無法按預期運行。例如,Hawkbit 有一個用于配置的 Web 界面。由于主機的網(wǎng)絡(luò)配置,可能無法訪問 Hawkbit Web 界面。以下 Docker 命令可用于實時查看 Docker 容器的日志:

$> 碼頭工人 PS
$> docker logs -f <容器ID>

第一個命令docker ps將在一個包含以下列的表中列出所有正在運行的容器:

  • CONTAINER ID:容器的哈希值,將用于任何需要“容器 ID”的后續(xù)命令。
  • IMAGE:用于運行 Docker 容器的鏡像名稱。在此示例中,這將是“hawkbit/hawkbit-update-server”。
  • COMMAND:容器正在運行的命令。在此示例中,這是用于運行 hawkbit 服務(wù)器的命令。
  • CREATED:自容器創(chuàng)建以來經(jīng)過的時間。
  • STATUS:容器的狀態(tài),包括經(jīng)過的時間。在此示例中,顯示的時間將與CREATED下列出的時間相同。
  • PORTS:暴露給容器的端口。在本例中,應(yīng)顯示“80”。
  • NAMES:賦予特定實例的唯一名稱。

獲取容器 ID 后,使用docker ps命令可以將其輸入到docker logs -f命令,該命令將實時顯示容器生成的任何日志。另一個用于解決 Docker 容器問題的常用命令是:

$> docker attach <容器ID>

此命令會將標準輸出從容器轉(zhuǎn)發(fā)到您的主機,并將標準輸入從您的主機轉(zhuǎn)發(fā)到容器。換句話說,就好像您坐在由容器執(zhí)行的機器前,您可以通過鍵盤訪問它,并且可以看到顯示器上正在打印的內(nèi)容。

出于安全目的,Web 應(yīng)用程序的另一個常見任務(wù)是提供 HTTPS 支持。回想一下,在加密參數(shù)的初始協(xié)議之后,HTTPS 會加密客戶端和服務(wù)器之間的流量。Nginx 是一個可以提供 HTTPS 支持的應(yīng)用程序,并且可以與 Hawkbit 結(jié)合以通過加密連接提供 FW/SW 更新。由于 Docker 在其集線器上提供了 Nginx 映像,因此可以將其與 Hawkbit Docker 容器映像結(jié)合使用以提供單一解決方案。這可以通過 Docker Compose 來完成。Docker Compose 允許在單個文件中配置多個 Docker 容器。這些 Docker 容器代表在內(nèi)部 Docker 網(wǎng)絡(luò)上相互連接的不同機器。

配置文件通常命名為“docker-compose.yml”,并具有定義特定配置的鍵值對。以下是包含 Hawkbit 和 Nginx 的示例文件示例:

服務(wù):
 鷹比特:
 圖片:hawkbit/hawkbit-update-server
 重啟:總是
 端口:
 - “8888:80”
 標簽:
 名稱:“hawkbit-test”
 nginx:
 圖片:nginx
 端口:
 - “8443:443”
 卷:
 -./data/nginx:/etc/nginx/conf.d

我們將把注意力集中在配置文件的結(jié)構(gòu)和格式上,因為 Nginx 配置的細節(jié)超出了本文的范圍。每個“Docker Compose 文件”(通常稱為配置文件)都以“服務(wù)”開頭,因為容器的目的是提供某種服務(wù)。然后每個容器都由一個特定的名稱標識。重要的是要注意縮進很重要,因為 Docker Compose 要求文件以某種方式格式化。然后,在每個單獨的容器下,一組鍵值對定義容器所需的配置參數(shù)。在上面的示例中,在hawkbit下,我們有以下鍵值對:

  • image:指示 Docker 它應(yīng)該使用哪個容器鏡像。
  • restart:如果容器因任何原因停止,指示 Docker 重新啟動容器。
  • 端口:指示 Docker 如何將某些端口從主機轉(zhuǎn)發(fā)到容器(如前所述)。
  • 標簽: Docker 在啟動容器時應(yīng)該使用的實例名稱。

nginx容器下,存在鍵值對,以指示 Docker 將主機上的特定位置掛載到 Docker 容器(這與docker run命令的-v選項相同,后者是上一篇文章中討論過)。最后,要啟動這些容器,應(yīng)在與配置文件相同的位置執(zhí)行以下命令:

$> 碼頭工人組成

就是這樣!兩個 docker 容器應(yīng)該已啟動并正在運行。

總之,Docker 提供了額外的機制,以在啟動和運行 Docker 容器時啟用適當?shù)陌踩珜嵺`,并支持在使用 Docker 容器時可能出現(xiàn)的調(diào)試問題。最后,Docker Compose 是一個有用的工具,可以使用單個配置文件啟動多個容器。在測試基于 IoT 的系統(tǒng)的應(yīng)用程序時,所有這些工具都非常寶貴。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5091

    文章

    19176

    瀏覽量

    307202
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9295

    瀏覽量

    85950
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    499

    瀏覽量

    22103
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    492

    瀏覽量

    11939
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用 Docker容器化技術(shù)

    對于開發(fā)人員來說,Docker肯定都不陌生,今天小編帶大家重新學習一下Docker。 什么是 Docker 官話: Docker 是一種開源的容器
    的頭像 發(fā)表于 09-30 11:24 ?1.6w次閱讀

    ARM平臺實現(xiàn)Docker容器技術(shù)

    ,一個相同配置的主機往往可以運行更多數(shù)量的應(yīng)用。更快速的啟動時間:傳統(tǒng)的虛擬機技術(shù)啟動應(yīng)用服務(wù)往往需要數(shù)分鐘,而Docker容器應(yīng)用,由于直接運行于宿主內(nèi)核,無需啟動完整的操作系統(tǒng),因此可以做到秒級
    發(fā)表于 07-17 11:05

    ARM平臺實現(xiàn)Docker容器技術(shù)

    技術(shù),一個相同配置的主機往往可以運行更多數(shù)量的應(yīng)用。 更快速的啟動時間:傳統(tǒng)的虛擬機技術(shù)啟動應(yīng)用服務(wù)往往需要數(shù)分鐘,而Docker容器應(yīng)用,由于直接運行于宿主內(nèi)核,無需啟動完整的操作系統(tǒng),因此可以做到秒
    發(fā)表于 07-25 14:36

    如何在Docker中創(chuàng)建容器

    Docker是一個開源的引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個輕量級的、可移植的、自給自足的容器。開發(fā)者在筆記本上編譯測試通過的容器可以批量地在生產(chǎn)環(huán)境中部署,包括VMs(虛擬機)、bare metal
    發(fā)表于 01-03 15:58

    請問docker容器如何添加自定義hosts?

    docker容器添加自定義hosts的方案有哪些?docker容器添加自定義hosts的錯誤示例
    發(fā)表于 11-05 06:20

    理解Docker容器并暢玩docker

    !命令行!玩docker,簡單幾句命令就夠了。Docker容器響應(yīng)迅速,執(zhí)行迅速,回憶一下VM啟動要多久?最佳的試驗場所,想怎么玩怎么玩,rm -rf /* 根本不是大問題。主機上刪掉容器
    發(fā)表于 11-05 09:54

    請問docker容器如何查看日志?

    docker容器如何查看日志
    發(fā)表于 11-19 07:29

    Docker容器管理命令(一)

    1、Docker容器管理命令的使用方法查看當前主機本地docker鏡像:啟動容器必須依賴鏡像,所以要獲取到鏡像的唯一標識docker
    發(fā)表于 04-20 17:55

    Docker容器管理命令(二)

    1、Docker容器管理命令的使用方法批量刪除docker 容器docker cp命令docker
    發(fā)表于 04-21 11:31

    學習 Docker 容器的 8 個命令分享

    利用這 8 個命令可以學習 Docker 容器的基本管理方式。這是一個為 Docker 初學者準備的,帶有示范命令輸出的指南。
    發(fā)表于 06-22 12:03 ?1393次閱讀
    學習 <b class='flag-5'>Docker</b> <b class='flag-5'>容器</b>的 8 個命令分享

    人工智能可以多事情,但它能逗我們笑嗎?

    人工智能(AI)可以多事情。它可以說話,可以挑選出特定的照片、可以幫助人們在地鐵周圍尋找方向, 但它能逗我們笑嗎?這個功能會實現(xiàn)嗎?至少現(xiàn)在還不能。究其原因可以讓我們看到很多機器與人類的本質(zhì)區(qū)別。
    發(fā)表于 08-13 15:36 ?1090次閱讀

    docker容器刪除后數(shù)據(jù)還在嗎

    Docker作為一個容器化平臺,提供了輕量級的虛擬化解決方案,能夠方便地創(chuàng)建、部署和管理應(yīng)用程序。然而,對于Docker容器的數(shù)據(jù)持久性是一個令人關(guān)注的問題。當我們刪除一個
    的頭像 發(fā)表于 11-23 09:32 ?1936次閱讀

    docker容器容器之間通信

    Docker是一種輕量級容器化技術(shù),能夠?qū)?yīng)用程序及其依賴項封裝在一個獨立、可移植的容器中。而容器化的應(yīng)用程序通常是以分布式方式設(shè)計的,因此實現(xiàn)容器
    的頭像 發(fā)表于 11-23 09:36 ?1615次閱讀

    docker進入容器的方法有哪些

    Docker是一種流行的容器化平臺,它能夠快速構(gòu)建、交付和運行應(yīng)用程序。在使用Docker時,我們經(jīng)常需要進入容器進行調(diào)試、管理和運行命令等操作。本文將詳細介紹
    的頭像 發(fā)表于 11-23 09:45 ?1.1w次閱讀

    docker容器有幾種狀態(tài)

    Docker 是一種流行的容器化平臺,它能夠幫助開發(fā)人員將應(yīng)用程序和其依賴打包成一個獨立的容器,并且能夠在不同的環(huán)境中進行部署和運行。在 Docker 中,
    的頭像 發(fā)表于 11-23 09:50 ?2366次閱讀
    主站蜘蛛池模板: 夜夜春色 | 欧美日韩一区二区三区视频在线观看 | 天天做天天爱天天综合网2021 | 久久综合99 | 婷婷激情六月 | 黄色激情小说视频 | 亚洲免费mv| 二十年等一人小说在线观看 | 亚洲乱亚洲乱妇41p 亚洲乱亚洲乱妇41p国产成人 | 成色网| 久久九九国产精品怡红院 | 四虎永久在线精品免费影视 | 在线观看亚洲人成网站 | 天天做.天天爱.天天综合网 | 精品亚洲综合在线第一区 | 亚洲卡5卡6卡7国色天香 | 97影院午夜午夜伦不卡 | 免费a级网站 | 国产v精品成人免费视频400条 | 色多多视频官网 | 亚洲精品久久婷婷爱久久婷婷 | 免费看男女下面日出水视频 | 好男人午夜www视频在线观看 | 色五月丁香五月综合五月 | xxxx日本老师hd | 最好看最新的中文字幕1 | 老师受年下高h男 | 在厨房乱子伦在线观看 | 高清欧美性xxxx成熟 | 天堂资源8中文最新版在线 天堂资源地址在线 | 国产精品一区牛牛影视 | 欧美黑人性受xxxx喷水 | 精品久久天干天天天按摩 | 五月天丁香婷婷开心激情五月 | 狠狠干狠狠干狠狠干 | 三级视频网站在线观看播放 | 亚洲91| 一级片在线观看视频 | 免费黄色 | 免费看的一级毛片 | 欧美成网 |