前 言
隨著電網(wǎng)數(shù)據(jù)信息化的深入,電網(wǎng)的各種應(yīng)用服務(wù)增長(zhǎng)迅速,原有應(yīng)用服務(wù)部署方式面臨著資源利用率低、管理復(fù)雜、執(zhí)行效率低等問(wèn)題。Docker容器技術(shù)集高效、輕量化、虛擬化為一體,為傳統(tǒng)方法的不足找到了解決方案。
1.什么是Docker?
Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可打包他們的應(yīng)用以及依賴(lài)包到一個(gè)可移植的鏡像中,然后發(fā)布到任何流行的Linux或Windows機(jī)器上,亦可實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。使用Docker,可像管理應(yīng)用程序一樣管理基礎(chǔ)結(jié)構(gòu)。通過(guò)利用Docker的快速發(fā)布、測(cè)試和部署代碼的方法,可顯著減少產(chǎn)品開(kāi)發(fā)時(shí)間。
2.使用 Docker 容器的原因
- 容器沒(méi)有來(lái)賓操作系統(tǒng)并使用主機(jī)的操作系統(tǒng)。因此,他們會(huì)在需要時(shí)共享相關(guān)的庫(kù)和資源。
- 應(yīng)用程序隔離:如果你想在一臺(tái)服務(wù)器上運(yùn)行多個(gè)應(yīng)用程序,將每個(gè)應(yīng)用程序的組件保存在單獨(dú)的容器中可以防止依賴(lài)管理出現(xiàn)問(wèn)題。
- 由于應(yīng)用程序特定的二進(jìn)制文件和容器庫(kù)在主機(jī)內(nèi)核上運(yùn)行,因此應(yīng)用程序的處理和執(zhí)行速度非??臁?/li>
- 啟動(dòng)一個(gè)容器只需要幾分之一秒。
- 容器比虛擬機(jī)輕量級(jí)且速度更快。
本文基于100%國(guó)產(chǎn)方案的全志T3/A40i平臺(tái)為您講解Docker的安裝及運(yùn)行測(cè)試。
創(chuàng)龍科技SOM-TLT3是一款基于全志科技T3處理器設(shè)計(jì)的4核ARM Cortex-A7國(guó)產(chǎn)工業(yè)核心板,每核主頻高達(dá)1.2GHz。
核心板通過(guò)郵票孔連接方式引出CSI、TVIN、MIPI DSI、TVOUT、RGB DISPLAY、LVDS DISPLAY、GMAC、EMAC、USB、SATA、SDIO、UART、TSC、SPI、TWI等接口,支持雙屏異顯、1080P@45fps H.264視頻硬件編解碼。
核心板采用100%國(guó)產(chǎn)元器件方案,并經(jīng)過(guò)專(zhuān)業(yè)的PCB Layout和高低溫測(cè)試驗(yàn)證,穩(wěn)定可靠,可滿(mǎn)足各種工業(yè)應(yīng)用環(huán)境。
用戶(hù)使用核心板進(jìn)行二次開(kāi)發(fā)時(shí),僅需專(zhuān)注上層運(yùn)用,降低了開(kāi)發(fā)難度和時(shí)間成本,可快速進(jìn)行產(chǎn)品方案評(píng)估與技術(shù)預(yù)研。
![poYBAGIN41KASQhZAAGaeJrFZ9E333.jpg](https://file.elecfans.com/web2/M00/30/FA/poYBAGIN41KASQhZAAGaeJrFZ9E333.jpg)
圖 1
![pYYBAGIN41KAFXG_AAJsR-4-YnM073.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41KAFXG_AAJsR-4-YnM073.jpg)
圖 2 T3/A40i評(píng)估板
3.Docker架構(gòu)
Docker使用客戶(hù)端——服務(wù)器(C/S)體系結(jié)構(gòu)。Docker客戶(hù)端與Docker守護(hù)進(jìn)程進(jìn)行通信,后者執(zhí)行構(gòu)建、運(yùn)行和分發(fā)Docker容器的繁重工作。Docker客戶(hù)端和守護(hù)進(jìn)程可在同一個(gè)系統(tǒng)上運(yùn)行,亦可將Docker客戶(hù)端連接至遠(yuǎn)程Docker守護(hù)進(jìn)程。Docker客戶(hù)端和守護(hù)進(jìn)程使用REST API、UNIX套接字或網(wǎng)絡(luò)接口進(jìn)行通信。
![pYYBAGIN41KASC-hAAES1y0_pvg588.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41KASC-hAAES1y0_pvg588.jpg)
圖 3
更多詳情請(qǐng)可參考Docker官網(wǎng)。
4.Docker安裝
2.1安裝方法
- 安裝依賴(lài)包
打開(kāi)Ubuntu,確保Ubuntu可正常訪問(wèn)互聯(lián)網(wǎng),執(zhí)行如下命令進(jìn)行安裝Docker依賴(lài)包。
Host# sudo apt-get update
![pYYBAGIN41OAOQXSAACG4507APc867.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41OAOQXSAACG4507APc867.jpg)
圖 4
Host# sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
![poYBAGIN41KASDXQAAC-n7sBtL4046.jpg](https://file.elecfans.com/web2/M00/30/FA/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](https://file.elecfans.com/web2/M00/30/FA/poYBAGIN41OARA-vAAA9-5VMz0Q941.jpg)
圖 6
3.設(shè)置Docker Stable存儲(chǔ)庫(kù)
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](https://file.elecfans.com/web2/M00/30/FA/poYBAGIN41OARGkNAABaDe0uJ74065.jpg)
圖 7
4.安裝Docker
Host# sudo apt-get update
Host# sudo apt-get install docker-ce
![pYYBAGIN41OAWVhlAAFCwO2vNaU908.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41OAWVhlAAFCwO2vNaU908.jpg)
圖 8
![poYBAGIN41OAfCWYAAB1wgIdqu0033.jpg](https://file.elecfans.com/web2/M00/30/FA/poYBAGIN41OAfCWYAAB1wgIdqu0033.jpg)
圖 9
5.驗(yàn)證Docker
執(zhí)行如下命令,通過(guò)運(yùn)行Docker自帶的hello-world鏡像來(lái)驗(yàn)證是否已安裝成功。程序運(yùn)行后,輸出如下內(nèi)容則表示Docker安裝成功。
Host# sudo docker run hello-world
![pYYBAGIN41OAIvOGAAFK_fWIFkI171.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41OAIvOGAAFK_fWIFkI171.jpg)
圖 10
2.2搭建本地鏡像倉(cāng)庫(kù)
Docker用Registry來(lái)保存用戶(hù)構(gòu)建的鏡像。Registry分為公共和私有兩種。Docker公司運(yùn)營(yíng)的公共Registry叫做Docker Hub,用戶(hù)可在Docker Hub注冊(cè)賬號(hào),分享并保存自己的鏡像。Docker公司的公共鏡像倉(cāng)庫(kù)(https://hub.docker.com)提供了龐大的鏡像集合供用戶(hù)使用。一個(gè)Docker Registry中可包含多個(gè)倉(cāng)庫(kù),每個(gè)倉(cāng)庫(kù)可包含多個(gè)標(biāo)簽(Tag),每個(gè)標(biāo)簽對(duì)應(yīng)一個(gè)鏡像。通常,一個(gè)倉(cāng)庫(kù)會(huì)包含同一個(gè)軟件不同版本的鏡像,而標(biāo)簽對(duì)應(yīng)該軟件的各個(gè)版本。用戶(hù)可通過(guò)“[<倉(cāng)庫(kù)名>:<標(biāo)簽>]”的格式來(lái)指定具體是某個(gè)軟件某個(gè)版本的鏡像。如未給出標(biāo)簽,將以[latest]作為默認(rèn)標(biāo)簽。
本次使用的鏡像是registry:2,請(qǐng)執(zhí)行如下命令自動(dòng)下載并啟動(dòng)。
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ù)說(shuō)明:
-d:后臺(tái)啟動(dòng)容器。
-p:將容器的5000端口映射至Ubuntu的5000端口(5000是registry服務(wù)端口)。
-v:將容器“/var/lib/registry”目錄映射至Ubuntu的“/home/tronlong/docker/myregistry”,用于存放鏡像數(shù)據(jù)。
![poYBAGIN41OAbeXvAAEJus-ILkE570.jpg](https://file.elecfans.com/web2/M00/30/FA/poYBAGIN41OAbeXvAAEJus-ILkE570.jpg)
圖 11
請(qǐng)執(zhí)行如下命令,查看容器是否已啟動(dòng),出現(xiàn)如下內(nèi)容說(shuō)明容器已正常啟動(dòng)。
Host# sudo docker ps
![pYYBAGIN41SAVG9oAABLF27_pgs870.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41SAVG9oAABLF27_pgs870.jpg)
圖 12
請(qǐng)通過(guò)瀏覽器訪問(wèn)“http://192.168.0.84:5000/v2/_catalog”,如返回如下內(nèi)容則說(shuō)明registry已經(jīng)成功啟動(dòng),192.168.0.84為Ubuntu的IP。
![poYBAGIN41SATtGJAAAvVSS5UcY971.jpg](https://file.elecfans.com/web2/M00/30/FA/poYBAGIN41SATtGJAAAvVSS5UcY971.jpg)
圖 13
由于剛建立運(yùn)行,故里面無(wú)任何鏡像內(nèi)容。至此,Docker環(huán)境安裝完成。
5.構(gòu)建鏡像
請(qǐng)?jiān)赨buntu上新建工作目錄“/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](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41SAOXo7AACdcaz0NQM779.jpg)
圖 14
在工作目錄“/home/tronlong/docker/dockerfile/”下,新建Dockerfile文件。
Host# gedit Dockerfile
![pYYBAGIN41SAOse5AABS5eFGx_U067.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41SAOse5AABS5eFGx_U067.jpg)
圖 15
![poYBAGIN41WAVAR0AABgMG3JzEM406.jpg](https://file.elecfans.com/web2/M00/30/FA/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"] #容器啟動(dòng)時(shí)執(zhí)行的shell命令,此處為執(zhí)行LED閃爍程序的命令
在Dockerfile文件所在的目錄下執(zhí)行如下命令,進(jìn)行構(gòu)建鏡像。
Host# sudo docker build -t 192.168.0.84:5000/tl_led_flash:v1.0 . //注意命令最后含有“.”
Host# sudo docker images //查看已構(gòu)建的鏡像
參數(shù)說(shuō)明:
192.168.0.84:Ubuntu的IP地址;
-t:指定鏡像的名字及標(biāo)簽(name:tag)。
![poYBAGIN41SAMEC3AAEmdvJiYFY283.jpg](https://file.elecfans.com/web2/M00/30/FA/poYBAGIN41SAMEC3AAEmdvJiYFY283.jpg)
圖 17
請(qǐng)執(zhí)行如下命令,將鏡像推送至本地倉(cāng)庫(kù)Registry。
Host# sudo docker push 192.168.0.84:5000/tl_led_flash:v1.0
![pYYBAGIN41SAFhKFAABgsq6CRQY529.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41SAFhKFAABgsq6CRQY529.jpg)
圖 18
Docker版本從1.3.X之后,與Docker Registry交互默認(rèn)使用https,然而前面搭建的私有倉(cāng)庫(kù)僅提供http服務(wù),因此當(dāng)與私有倉(cāng)庫(kù)交互時(shí)將出現(xiàn)上面的錯(cuò)誤提示。可通過(guò)修改“/etc/docker/daemon.json”文件來(lái)解決該問(wèn)題,請(qǐng)執(zhí)行如下命令,192.168.0.84為Ubuntu的IP。
Host# sudo vi /etc/docker/daemon.json
![pYYBAGIN41SAC9q6AAAjCsonOaA822.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41SAC9q6AAAjCsonOaA822.jpg)
圖 19
請(qǐng)?jiān)赿aemon.json中添加如下配置內(nèi)容:
{
"insecure-registries": ["192.168.0.84:5000"]
}
執(zhí)行如下命令,重新啟動(dòng)Docker、Registry容器(通過(guò)指定ID),并重新推送鏡像至本地Registry。
Host# sudo /etc/init.d/docker restart
Host# sudo docker ps -a
Host# sudo docker start 4b0a821ec816 //以查詢(xún)得到的ID號(hào)為準(zhǔn)
Host# sudo docker push 192.168.0.84:5000/tl_led_flash:v1.0
![poYBAGIN41WAc-cLAAEwNFuu-cc376.jpg](https://file.elecfans.com/web2/M00/30/FA/poYBAGIN41WAc-cLAAEwNFuu-cc376.jpg)
圖 20
備注:若出現(xiàn)如下錯(cuò)誤,可執(zhí)行"sudo service docker restart"重啟Docker。
![poYBAGIN41SAJB1dAABfKu9razI393.jpg](https://file.elecfans.com/web2/M00/30/FA/poYBAGIN41SAJB1dAABfKu9razI393.jpg)
圖 21
通過(guò)瀏覽器訪問(wèn)“http://192.168.0.84:5000/v2/_catalog”,即可看到當(dāng)前倉(cāng)庫(kù)里已有的鏡像。
![pYYBAGIN41WAJWWRAAAveL1pA2E838.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41WAJWWRAAAveL1pA2E838.jpg)
圖 22
6.下載鏡像并運(yùn)行容器
- 下載鏡像。
請(qǐng)使用網(wǎng)線將評(píng)估板網(wǎng)口連接至路由器,并確保和Ubuntu處于同一網(wǎng)絡(luò)下,評(píng)估板上電啟動(dòng),執(zhí)行如下命令下載鏡像。
Target# docker pull 192.168.0.84:5000/tl_led_flash:v1.0
Target# docker images
![poYBAGIN41WAO6ftAACmwZDt4w8328.jpg](https://file.elecfans.com/web2/M00/30/FA/poYBAGIN41WAO6ftAACmwZDt4w8328.jpg)
圖 23
若出現(xiàn)如下錯(cuò)誤,可通過(guò)修改“/etc/docker/daemon.json”文件來(lái)解決此問(wèn)題,請(qǐng)執(zhí)行如下命令。
![pYYBAGIN41WAPrwuAABH8_SzAns082.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41WAPrwuAABH8_SzAns082.jpg)
圖 24
Target# vi /etc/docker/daemon.json
Target# systemctl restart docker.socket //重啟Docker服務(wù)
![pYYBAGIN41WAOm17AABKMIyz8Gw007.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41WAOm17AABKMIyz8Gw007.jpg)
圖 25
請(qǐng)?jiān)赿aemon.json中添加如下配置內(nèi)容:
{
"insecure-registries": ["192.168.0.84:5000"]
}
2.創(chuàng)建并啟動(dòng)容器。
Target# docker run -d --name tl_led_flash -v /sys/:/sys 0a4ece7276bb
參數(shù)說(shuō)明:
-d: 后臺(tái)運(yùn)行容器;
--name: 為容器指定一個(gè)名稱(chēng);
-v: 映射卷(將主機(jī)的目錄"/sys"映射至容器的"/sys");
0a4ece7276bb:鏡像ID,以實(shí)際"IMAGE ID"為準(zhǔn)。
![poYBAGIN41aAR3O2AAFtZoLxkNU263.jpg](https://file.elecfans.com/web2/M00/30/FA/poYBAGIN41aAR3O2AAFtZoLxkNU263.jpg)
圖 26
容器啟動(dòng)完成后,評(píng)估底板的3個(gè)用戶(hù)LED燈同時(shí)閃爍。
備注:若出現(xiàn)如下錯(cuò)誤,需先創(chuàng)建“/etc/resolv.conf”文件,再進(jìn)行創(chuàng)建容器操作。
![poYBAGIN41aAVh5WAAERUB-3xM4281.jpg](https://file.elecfans.com/web2/M00/30/FA/poYBAGIN41aAVh5WAAERUB-3xM4281.jpg)
圖 27
3.容器的基本操作
執(zhí)行如下命令,查看正在運(yùn)行的容器并進(jìn)入容器。
Target# docker ps -a
Target# docker exec -it 085b59f6c76e /bin/bash
參數(shù)說(shuō)明:
-i:以交互模式運(yùn)行容器,通常與-t同時(shí)使用;
-t:為容器重新分配一個(gè)偽輸入終端,通常與-i同時(shí)使用;
085b59f6c76e:容器ID,以實(shí)際“CONTAINER ID”為準(zhǔn);
/bin/bash:在容器內(nèi)執(zhí)行“/bin/bash”命令。
![pYYBAGIN41WARV45AABDkupeJMM963.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41WARV45AABDkupeJMM963.jpg)
圖 28
執(zhí)行如下命令,退出容器。
Bash# exit
![pYYBAGIN41aAXOsZAAAtLhJl56k376.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41aAXOsZAAAtLhJl56k376.jpg)
圖 29
執(zhí)行如下命令,停止容器。此時(shí),評(píng)估底板的3個(gè)用戶(hù)LED燈不再閃爍。
Target# docker stop 085b59f6c76e
![poYBAGIN41aAUmt5AAB4pMCgRt8929.jpg](https://file.elecfans.com/web2/M00/30/FA/poYBAGIN41aAUmt5AAB4pMCgRt8929.jpg)
圖 30
執(zhí)行如下命令,啟動(dòng)容器。此時(shí),評(píng)估底板的3個(gè)用戶(hù)LED燈同時(shí)閃爍。
Target# docker start 085b59f6c76e
![pYYBAGIN41aAMf2DAAC39B62snY225.jpg](https://file.elecfans.com/web2/M00/31/01/pYYBAGIN41aAMf2DAAC39B62snY225.jpg)
圖 31
-
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5078瀏覽量
97671 -
LT3
+關(guān)注
關(guān)注
0文章
29瀏覽量
18440 -
國(guó)產(chǎn)芯片
+關(guān)注
關(guān)注
2文章
255瀏覽量
29760 -
全志科技
+關(guān)注
關(guān)注
4文章
107瀏覽量
16131 -
嵌入式核心板
+關(guān)注
關(guān)注
0文章
32瀏覽量
7131
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Dockerfile鏡像制作與Docker-Compose容器編排
![Dockerfile鏡像制作與<b class='flag-5'>Docker</b>-Compose<b class='flag-5'>容器</b>編排](https://file1.elecfans.com/web3/M00/05/19/wKgZO2d8mWeAPOtdAAArBZgZf3c712.png)
在華為云 FlexusX 實(shí)例上實(shí)現(xiàn) Docker 容器的實(shí)時(shí)監(jiān)控與可視化分析
![在華為云 FlexusX 實(shí)例上實(shí)現(xiàn) <b class='flag-5'>Docker</b> <b class='flag-5'>容器</b>的實(shí)時(shí)監(jiān)控與可視化分析](https://file1.elecfans.com//web3/M00/04/8B/wKgZPGd2J1yAPNaBAAEA43MSbXE619.png)
在 Huawei Cloud EulerOS 系統(tǒng)中安裝 Docker 的詳細(xì)步驟與常見(jiàn)問(wèn)題解決
![在 Huawei Cloud EulerOS 系統(tǒng)中<b class='flag-5'>安裝</b> <b class='flag-5'>Docker</b> 的詳細(xì)步驟與常見(jiàn)問(wèn)題解決](https://file1.elecfans.com//web3/M00/03/F3/wKgZO2dtLCCAJlDxAAJdM3qXDdI840.png)
docker-compose配置文件內(nèi)容詳解以及常用命令介紹
![<b class='flag-5'>docker</b>-compose配置文件內(nèi)容<b class='flag-5'>詳解</b>以及常用命令介紹](https://file1.elecfans.com/web3/M00/00/AB/wKgZO2dNEEaAEoyIAAALko9gT-Q935.png)
如何在樹(shù)莓派上安裝Docker容器
Docker運(yùn)行環(huán)境安裝
ARM平臺(tái)實(shí)現(xiàn)Docker容器技術(shù)
ARM平臺(tái)實(shí)現(xiàn)Docker容器技術(shù)
Jtti:Docker會(huì)替代調(diào)虛機(jī)嗎
![Jtti:<b class='flag-5'>Docker</b>會(huì)替代調(diào)虛機(jī)嗎](https://file1.elecfans.com/web2/M00/FB/5A/wKgZomaQzyWAG5r5AAQoi__pg4c076.png)
適合大學(xué)生的鴻蒙開(kāi)發(fā)板-Purple Pi OH之安裝Docker
![適合大學(xué)生的鴻蒙開(kāi)發(fā)板-Purple Pi OH之<b class='flag-5'>安裝</b><b class='flag-5'>Docker</b>](https://file1.elecfans.com/web2/M00/8F/50/wKgZomTMciWAD54NAABOGP2pQZY452.png)
基于全志T113-i的Docker容器實(shí)現(xiàn)方案
![基于全志T113-i的<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>實(shí)現(xiàn)<b class='flag-5'>方案</b>](https://file1.elecfans.com/web2/M00/CF/27/wKgZomYhzZ6Aeq8wAAAyxy6HaB0319.png)
Docker容器技術(shù)的安裝和使用
![<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>技術(shù)的<b class='flag-5'>安裝</b>和使用](https://file1.elecfans.com/web2/M00/C9/8D/wKgaomYd78SACKJeAAAyxy6HaB0206.png)
ARM平臺(tái)實(shí)現(xiàn)Docker容器技術(shù)
![ARM平臺(tái)實(shí)現(xiàn)<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>技術(shù)](https://file1.elecfans.com/web2/M00/C3/DE/wKgaomXpMM2ANlt5AARGmREsrH4588.png)
評(píng)論