91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

Docker容器安裝及運行測試方案詳解

Tronlong創(chuàng)龍科技 ? 2022-02-17 13:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前 言

隨著電網(wǎng)數(shù)據(jù)信息化的深入,電網(wǎng)的各種應(yīng)用服務(wù)增長迅速,原有應(yīng)用服務(wù)部署方式面臨著資源利用率低、管理復(fù)雜、執(zhí)行效率低等問題。Docker容器技術(shù)集高效、輕量化、虛擬化為一體,為傳統(tǒng)方法的不足找到了解決方案。

1.什么是Docker?

Docker是一個開源的應(yīng)用容器引擎,讓開發(fā)者可打包他們的應(yīng)用以及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的Linux或Windows機器上,亦可實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。使用Docker,可像管理應(yīng)用程序一樣管理基礎(chǔ)結(jié)構(gòu)。通過利用Docker的快速發(fā)布、測試和部署代碼的方法,可顯著減少產(chǎn)品開發(fā)時間。

2.使用 Docker 容器的原因

  • 容器沒有來賓操作系統(tǒng)并使用主機的操作系統(tǒng)。因此,他們會在需要時共享相關(guān)的庫和資源。
  • 應(yīng)用程序隔離:如果你想在一臺服務(wù)器上運行多個應(yīng)用程序,將每個應(yīng)用程序的組件保存在單獨的容器中可以防止依賴管理出現(xiàn)問題。
  • 由于應(yīng)用程序特定的二進制文件和容器庫在主機內(nèi)核上運行,因此應(yīng)用程序的處理和執(zhí)行速度非???。
  • 啟動一個容器只需要幾分之一秒。
  • 容器比虛擬機輕量級且速度更快。

本文基于100%國產(chǎn)方案的全志T3/A40i平臺為您講解Docker的安裝及運行測試。

創(chuàng)龍科技SOM-TLT3是一款基于全志科技T3處理器設(shè)計的4核ARM Cortex-A7國產(chǎn)工業(yè)核心板,每核主頻高達1.2GHz。

核心板通過郵票孔連接方式引出CSI、TVIN、MIPI DSI、TVOUT、RGB DISPLAY、LVDS DISPLAY、GMAC、EMAC、USB、SATA、SDIO、UART、TSC、SPI、TWI等接口,支持雙屏異顯、1080P@45fps H.264視頻硬件編解碼。

核心板采用100%國產(chǎn)元器件方案,并經(jīng)過專業(yè)的PCB Layout和高低溫測試驗證,穩(wěn)定可靠,可滿足各種工業(yè)應(yīng)用環(huán)境。

用戶使用核心板進行二次開發(fā)時,僅需專注上層運用,降低了開發(fā)難度和時間成本,可快速進行產(chǎn)品方案評估與技術(shù)預(yù)研。

poYBAGIN41KASQhZAAGaeJrFZ9E333.jpg

圖 1

pYYBAGIN41KAFXG_AAJsR-4-YnM073.jpg

圖 2 T3/A40i評估板

3.Docker架構(gòu)

Docker使用客戶端——服務(wù)器(C/S)體系結(jié)構(gòu)。Docker客戶端與Docker守護進程進行通信,后者執(zhí)行構(gòu)建、運行和分發(fā)Docker容器的繁重工作。Docker客戶端和守護進程可在同一個系統(tǒng)上運行,亦可將Docker客戶端連接至遠程Docker守護進程。Docker客戶端和守護進程使用REST API、UNIX套接字或網(wǎng)絡(luò)接口進行通信。

pYYBAGIN41KASC-hAAES1y0_pvg588.jpg

圖 3

更多詳情請可參考Docker官網(wǎng)。

4.Docker安裝

2.1安裝方法

  1. 安裝依賴包

打開Ubuntu,確保Ubuntu可正常訪問互聯(lián)網(wǎng),執(zhí)行如下命令進行安裝Docker依賴包。

Host# sudo apt-get update

pYYBAGIN41OAOQXSAACG4507APc867.jpg

圖 4

Host# sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

poYBAGIN41KASDXQAAC-n7sBtL4046.jpg

圖 5

2.添加Docker官方GPG密鑰

Host# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

poYBAGIN41OARA-vAAA9-5VMz0Q941.jpg

圖 6

3.設(shè)置Docker Stable存儲庫

Host# echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

poYBAGIN41OARGkNAABaDe0uJ74065.jpg

圖 7

4.安裝Docker

Host# sudo apt-get update

Host# sudo apt-get install docker-ce

pYYBAGIN41OAWVhlAAFCwO2vNaU908.jpg

圖 8

poYBAGIN41OAfCWYAAB1wgIdqu0033.jpg

圖 9

5.驗證Docker

執(zhí)行如下命令,通過運行Docker自帶的hello-world鏡像來驗證是否已安裝成功。程序運行后,輸出如下內(nèi)容則表示Docker安裝成功。

Host# sudo docker run hello-world

pYYBAGIN41OAIvOGAAFK_fWIFkI171.jpg

圖 10

2.2搭建本地鏡像倉庫

Docker用Registry來保存用戶構(gòu)建的鏡像。Registry分為公共和私有兩種。Docker公司運營的公共Registry叫做Docker Hub,用戶可在Docker Hub注冊賬號,分享并保存自己的鏡像。Docker公司的公共鏡像倉庫(https://hub.docker.com)提供了龐大的鏡像集合供用戶使用。一個Docker Registry中可包含多個倉庫,每個倉庫可包含多個標(biāo)簽(Tag),每個標(biāo)簽對應(yīng)一個鏡像。通常,一個倉庫會包含同一個軟件不同版本的鏡像,而標(biāo)簽對應(yīng)該軟件的各個版本。用戶可通過“[<倉庫名>:<標(biāo)簽>]”的格式來指定具體是某個軟件某個版本的鏡像。如未給出標(biāo)簽,將以[latest]作為默認標(biāo)簽。

本次使用的鏡像是registry:2,請執(zhí)行如下命令自動下載并啟動。

Host# mkdir -p /home/tronlong/docker/myregistry

Host# sudo docker run -d -p 5000:5000 -v /home/tronlong/docker/myregistry:/var/lib/registry registry:2

參數(shù)說明:

-d:后臺啟動容器。

-p:將容器的5000端口映射至Ubuntu的5000端口(5000是registry服務(wù)端口)。

-v:將容器“/var/lib/registry”目錄映射至Ubuntu的“/home/tronlong/docker/myregistry”,用于存放鏡像數(shù)據(jù)。

poYBAGIN41OAbeXvAAEJus-ILkE570.jpg

圖 11

請執(zhí)行如下命令,查看容器是否已啟動,出現(xiàn)如下內(nèi)容說明容器已正常啟動。

Host# sudo docker ps

pYYBAGIN41SAVG9oAABLF27_pgs870.jpg

圖 12

請通過瀏覽器訪問“http://192.168.0.84:5000/v2/_catalog”,如返回如下內(nèi)容則說明registry已經(jīng)成功啟動,192.168.0.84為Ubuntu的IP。

poYBAGIN41SATtGJAAAvVSS5UcY971.jpg

圖 13

由于剛建立運行,故里面無任何鏡像內(nèi)容。至此,Docker環(huán)境安裝完成。

5.構(gòu)建鏡像

請在Ubuntu上新建工作目錄“/home/tronlong/docker/dockerfile/”,并將產(chǎn)品資料“4-軟件資料\Linux\Filesystem\”目錄下的文件系統(tǒng)壓縮包rootfs-processor-sdk-04.03.00.05-54428dd3-v2.1-docker.tar.gz和產(chǎn)品資料“4-軟件資料\Demo\tl-linux-application\base-demos\tl_led_flash\bin\”目錄下的可執(zhí)行文件拷貝至Ubuntu共享目錄下,再執(zhí)行如下命令拷貝至工作目錄。

Host# mkdir /home/tronlong/docker/dockerfile

Host# cp /mnt/hgfs/SharedFolders/tl_led_flash /home/tronlong/docker/dockerfile/

Host# cp /mnt/hgfs/SharedFolders/rootfs-processor-sdk-04.03.00.05-54428dd3-v2.1-docker.tar.gz /home/tronlong/docker/dockerfile/

pYYBAGIN41SAOXo7AACdcaz0NQM779.jpg

圖 14

在工作目錄“/home/tronlong/docker/dockerfile/”下,新建Dockerfile文件。

Host# gedit Dockerfile

pYYBAGIN41SAOse5AABS5eFGx_U067.jpg

圖 15

poYBAGIN41WAVAR0AABgMG3JzEM406.jpg

圖 16

Dockerfile文件內(nèi)容如下:

FROM scratch #基于空的基礎(chǔ)鏡像構(gòu)建新的鏡像

# Set work directory

WORKDIR /home/root #為CMD、COPY和AND設(shè)置工作目錄

# Decompress the file system

ADD rootfs-processor-sdk-04.03.00.05-54428dd3-v2.1-docker.tar.gz / #解壓文件系統(tǒng)

# Copy file to image

COPY tl_led_flash . #拷貝可執(zhí)行文件至鏡像的"/home/root/"目錄下

# Shell command executed when the container is started

# CMD ["executable","param1","param2"]

CMD ["./tl_led_flash", "-n 3"] #容器啟動時執(zhí)行的shell命令,此處為執(zhí)行LED閃爍程序的命令

在Dockerfile文件所在的目錄下執(zhí)行如下命令,進行構(gòu)建鏡像。

Host# sudo docker build -t 192.168.0.84:5000/tl_led_flash:v1.0 . //注意命令最后含有“.”

Host# sudo docker images //查看已構(gòu)建的鏡像

參數(shù)說明:

192.168.0.84:Ubuntu的IP地址;

-t:指定鏡像的名字及標(biāo)簽(name:tag)。

poYBAGIN41SAMEC3AAEmdvJiYFY283.jpg

圖 17

請執(zhí)行如下命令,將鏡像推送至本地倉庫Registry。

Host# sudo docker push 192.168.0.84:5000/tl_led_flash:v1.0

pYYBAGIN41SAFhKFAABgsq6CRQY529.jpg

圖 18

Docker版本從1.3.X之后,與Docker Registry交互默認使用https,然而前面搭建的私有倉庫僅提供http服務(wù),因此當(dāng)與私有倉庫交互時將出現(xiàn)上面的錯誤提示。可通過修改“/etc/docker/daemon.json”文件來解決該問題,請執(zhí)行如下命令,192.168.0.84為Ubuntu的IP。

Host# sudo vi /etc/docker/daemon.json

pYYBAGIN41SAC9q6AAAjCsonOaA822.jpg

圖 19

請在daemon.json中添加如下配置內(nèi)容:

{

"insecure-registries": ["192.168.0.84:5000"]

}

執(zhí)行如下命令,重新啟動Docker、Registry容器(通過指定ID),并重新推送鏡像至本地Registry。

Host# sudo /etc/init.d/docker restart

Host# sudo docker ps -a

Host# sudo docker start 4b0a821ec816 //以查詢得到的ID號為準

Host# sudo docker push 192.168.0.84:5000/tl_led_flash:v1.0

poYBAGIN41WAc-cLAAEwNFuu-cc376.jpg

圖 20

備注:若出現(xiàn)如下錯誤,可執(zhí)行"sudo service docker restart"重啟Docker。

poYBAGIN41SAJB1dAABfKu9razI393.jpg

圖 21

通過瀏覽器訪問“http://192.168.0.84:5000/v2/_catalog”,即可看到當(dāng)前倉庫里已有的鏡像。

pYYBAGIN41WAJWWRAAAveL1pA2E838.jpg

圖 22

6.下載鏡像并運行容器

  1. 下載鏡像。

請使用網(wǎng)線將評估板網(wǎng)口連接至路由器,并確保和Ubuntu處于同一網(wǎng)絡(luò)下,評估板上電啟動,執(zhí)行如下命令下載鏡像。

Target# docker pull 192.168.0.84:5000/tl_led_flash:v1.0

Target# docker images

poYBAGIN41WAO6ftAACmwZDt4w8328.jpg

圖 23

若出現(xiàn)如下錯誤,可通過修改“/etc/docker/daemon.json”文件來解決此問題,請執(zhí)行如下命令。

pYYBAGIN41WAPrwuAABH8_SzAns082.jpg

圖 24

Target# vi /etc/docker/daemon.json

Target# systemctl restart docker.socket //重啟Docker服務(wù)

pYYBAGIN41WAOm17AABKMIyz8Gw007.jpg

圖 25

請在daemon.json中添加如下配置內(nèi)容:

{

"insecure-registries": ["192.168.0.84:5000"]

}

2.創(chuàng)建并啟動容器。

Target# docker run -d --name tl_led_flash -v /sys/:/sys 0a4ece7276bb

參數(shù)說明:

-d: 后臺運行容器;

--name: 為容器指定一個名稱;

-v: 映射卷(將主機的目錄"/sys"映射至容器的"/sys");

0a4ece7276bb:鏡像ID,以實際"IMAGE ID"為準。

poYBAGIN41aAR3O2AAFtZoLxkNU263.jpg

圖 26

容器啟動完成后,評估底板的3個用戶LED燈同時閃爍。

備注:若出現(xiàn)如下錯誤,需先創(chuàng)建“/etc/resolv.conf”文件,再進行創(chuàng)建容器操作。

poYBAGIN41aAVh5WAAERUB-3xM4281.jpg

圖 27

3.容器的基本操作

執(zhí)行如下命令,查看正在運行的容器并進入容器。

Target# docker ps -a

Target# docker exec -it 085b59f6c76e /bin/bash

參數(shù)說明:

-i:以交互模式運行容器,通常與-t同時使用;

-t:為容器重新分配一個偽輸入終端,通常與-i同時使用;

085b59f6c76e:容器ID,以實際“CONTAINER ID”為準;

/bin/bash:在容器內(nèi)執(zhí)行“/bin/bash”命令。

pYYBAGIN41WARV45AABDkupeJMM963.jpg

圖 28

執(zhí)行如下命令,退出容器。

Bash# exit

pYYBAGIN41aAXOsZAAAtLhJl56k376.jpg

圖 29

執(zhí)行如下命令,停止容器。此時,評估底板的3個用戶LED燈不再閃爍。

Target# docker stop 085b59f6c76e

poYBAGIN41aAUmt5AAB4pMCgRt8929.jpg

圖 30

執(zhí)行如下命令,啟動容器。此時,評估底板的3個用戶LED燈同時閃爍。

Target# docker start 085b59f6c76e

pYYBAGIN41aAMf2DAAC39B62snY225.jpg

圖 31

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

    關(guān)注

    26

    文章

    6289

    瀏覽量

    118050
  • LT3
    LT3
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    18837
  • 國產(chǎn)芯片
    +關(guān)注

    關(guān)注

    2

    文章

    386

    瀏覽量

    31724
  • 全志科技
    +關(guān)注

    關(guān)注

    4

    文章

    136

    瀏覽量

    17689
  • 嵌入式核心板
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    7464
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Docker容器網(wǎng)絡(luò)模式全解析

    容器網(wǎng)絡(luò)是Docker使用中最容易出問題的部分。容器之間怎么通信、容器怎么訪問外網(wǎng)、外部怎么訪問容器內(nèi)的服務(wù)——這三個問題搞不清楚,排查網(wǎng)絡(luò)
    的頭像 發(fā)表于 02-26 16:39 ?231次閱讀

    如何在開發(fā)板上安裝運行docker

      1. 鏡像(Image):鏡像是一個只讀模板,包含了運行容器所需的所有文件和設(shè)置。可以把它理解成一個類的模板,通過它可以創(chuàng)建容器實例。
    的頭像 發(fā)表于 01-30 17:51 ?2738次閱讀
    如何在開發(fā)板上<b class='flag-5'>安裝</b>并<b class='flag-5'>運行</b><b class='flag-5'>docker</b>

    如何在2026年Rocky Linux(8、9和10)上安裝Docker

    Docker 已成為現(xiàn)代應(yīng)用部署、開發(fā)和基礎(chǔ)設(shè)施自動化的核心技術(shù)。如果你在服務(wù)器或VPS上運行Rocky Linux,學(xué)會在Rocky Linux上安裝Docker是你2026年能掌握
    的頭像 發(fā)表于 01-12 17:21 ?1144次閱讀

    創(chuàng)龍 瑞芯微 RK3588 國產(chǎn)2.4GHz八核 工業(yè)開發(fā)板—Docker容器部署方法說明

    本文圍繞創(chuàng)龍科技研發(fā)的評估板,詳細說明 Docker 容器部署方法,包括 Docker 架構(gòu)介紹、安裝步驟(依賴包安裝、GPG 密鑰添加等)
    的頭像 發(fā)表于 10-22 17:21 ?723次閱讀
    創(chuàng)龍 瑞芯微 RK3588 國產(chǎn)2.4GHz八核 工業(yè)開發(fā)板—<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>部署方法說明

    【HZ-T536開發(fā)板免費體驗】Docker 環(huán)境安裝及應(yīng)用

    一、檢查 Docker 安裝狀態(tài) 板子提示“command not found”或無版本信息,說明 Docker安裝,如有需要請自行安裝
    發(fā)表于 09-01 17:59

    深入剖析Docker全鏈路安全防護策略

    在云原生時代,Docker容器安全已成為運維工程師必須面對的核心挑戰(zhàn)。本文將從實戰(zhàn)角度深入剖析Docker全鏈路安全防護策略,涵蓋鏡像構(gòu)建、容器運行
    的頭像 發(fā)表于 08-18 11:17 ?1032次閱讀

    【GM-3568JHF開發(fā)板免費體驗】開發(fā)環(huán)境安裝

    Docker 是一個開源的應(yīng)用容器引擎,其能夠更高效的利用系統(tǒng)資源、保證一致的運行環(huán)境,實現(xiàn)持續(xù)交付和部署,以及后期更輕松的遷移、維護、擴展。 安裝
    發(fā)表于 08-09 13:37

    國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—Docker容器部署方法說明

    本指導(dǎo)文檔主要演示Docker容器部署的方法,并基于Docker運行led_flash例程。
    的頭像 發(fā)表于 08-06 15:55 ?484次閱讀
    國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>部署方法說明

    Docker容器安全攻防實戰(zhàn)案例

    在云原生時代,Docker已成為現(xiàn)代應(yīng)用部署的基石。然而,容器化帶來便利的同時,也引入了新的安全挑戰(zhàn)。作為一名在生產(chǎn)環(huán)境中管理過數(shù)千個容器的運維工程師,我將通過真實的攻防實戰(zhàn)案例,帶你深入了解
    的頭像 發(fā)表于 08-05 09:52 ?1321次閱讀

    創(chuàng)龍 瑞芯微 RK3562 國產(chǎn) 2GHz 四核A53 工業(yè)開發(fā)板—Docker容器部署方法說明

    Docker是一個開源的應(yīng)用容器引擎,讓開發(fā)者可打包他們的應(yīng)用以及依賴包至一個可移植的鏡像中,然后發(fā)布至任何流行的Linux或Windows機器上,亦可實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間
    的頭像 發(fā)表于 07-03 11:00 ?570次閱讀
    創(chuàng)龍 瑞芯微 RK3562 國產(chǎn) 2GHz 四核A53 工業(yè)開發(fā)板—<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>部署方法說明

    干貨分享 | RK3588 Ubuntu系統(tǒng)Docker容器使用指南

    前言:在瑞芯微RK3588高性能AIoT平臺上運行Ubuntu系統(tǒng)時,Docker容器技術(shù)能極大提升開發(fā)部署效率。通過輕量級虛擬化實現(xiàn)環(huán)境隔離與快速遷移,本文將從零開始詳解RK3588
    的頭像 發(fā)表于 06-27 12:01 ?3850次閱讀
    干貨分享 | RK3588 Ubuntu系統(tǒng)<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>使用指南

    如何使用Docker部署大模型

    隨著深度學(xué)習(xí)和大模型的快速發(fā)展,如何高效地部署這些模型成為了一個重要的挑戰(zhàn)。Docker 作為一種輕量級的容器化技術(shù),能夠?qū)⒛P图捌湟蕾嚟h(huán)境打包成一個可移植的容器,極大地簡化了部署流程。本文將詳細介紹如何使用
    的頭像 發(fā)表于 05-24 16:39 ?1112次閱讀

    Docker Compose的常用命令

    大家好,今天給大家分享Docker Compose的常用命令,以及docker-compose文件的屬性。Docker Compose 是一個用于定義和運行
    的頭像 發(fā)表于 04-30 13:40 ?1196次閱讀

    Docker常用命令大全

    Docker 是一種開源的應(yīng)用容器引擎,廣泛應(yīng)用于開發(fā)、部署和運行分布式應(yīng)用。掌握 Docker 常用命令對于開發(fā)人員和運維人員來說非常重要。本文將為大家整理常用的
    的頭像 發(fā)表于 04-22 12:47 ?859次閱讀

    【技術(shù)案例】Android in Docker

    的資源利用,廣泛用于開發(fā)、測試和生產(chǎn)環(huán)境中。AndroidinDocker介紹宿主機系統(tǒng)中通過docker運行Android容器。利用docker
    的頭像 發(fā)表于 04-02 16:33 ?1755次閱讀
    【技術(shù)案例】Android in <b class='flag-5'>Docker</b>