色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

TLT507-Docker容器部署方法說明

Tronlong創龍科技 ? 來源:Tronlong創龍科技 ? 作者:Tronlong創龍科技 ? 2024-01-26 09:49 ? 次閱讀

1 Docker 架構

Docker 使用客戶端——服務器(C/S)體系結構。Docker 客戶端與 Docker 守護進程進行

通信,后者執行構建、運行和分發 Docker 容器的繁重工作。Docker 客戶端和守護進程可

在同一個系統上運行,亦可將 Docker 客戶端連接至遠程 Docker 守護進程。Docker 客戶

端和守護進程使用 REST API、UNIX 套接字或網絡接口進行通信。

wKgZomW4k4iALym8AAFT7qU92kM427.png

更多詳情請可參考 Docker 官網鏈接:https://docs.docker.com/get-started/overview。

2 Docker 安裝

2.1 安裝方法

(1) 安裝依賴包

打開 Ubuntu,確保 Ubuntu 可正常訪問互聯網,執行如下命令進行安裝 Docker 依賴

包。

Host# sudo apt-get update

wKgZomW4k5qAAGWYAABg2mBGmN4439.png

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

wKgZomW4k6CAAbJlAADOc5tOWDE647.png

(2) 添加 Docker 官方 GPG 密鑰

Host# sudo mkdir -m 0755 -p /etc/apt/keyrings

Host# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor

-o /etc/apt/keyrings/docker.gpg

wKgaomW4k6aAbj6bAABUhK0_jdo474.png

(3) 設置 Docker Stable 存儲庫

Host# echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.

gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /e

tc/apt/sources.list.d/docker.list > /dev/null

wKgaomW4k7WASrElAABTSN_cYRw276.png

(4) 安裝 Docker

Host# sudo apt-get update

Host# sudo apt-get install docker-ce docker-ce-cli containerd.io

wKgZomW4k8OAab-cAAGPtlU2eww261.png

wKgZomW4k9KAXxzUAAE4qt81rGU229.png

(5) 驗證 Docker

執行如下命令,通過運行 Docker 自帶的 hello-world 鏡像來驗證是否已安裝成功。程

序運行后,輸出如下內容則表示 Docker 安裝成功。

Host# sudo docker run hello-world

wKgaomW4k9mABsBjAAFqGUo9G4M762.png

更多參考信息,請查閱官方手冊:https://docs.docker.com/engine/install/ubuntu。

2.2 搭建本地鏡像倉庫

Docker 用 Registry 來保存用戶構建的鏡像。Registry 分為公共和私有兩種。Docker 公

司運營的公共 Registry 叫做 Docker Hub,用戶可在 Docker Hub 注冊賬號,分享并保存自

己的鏡像。Docker 公司的公共鏡像倉庫(https://hub.docker.com)提供了龐大的鏡像集合供

用戶使用。一個 Docker Registry 中可包含多個倉庫,每個倉庫可包含多個標簽(Tag),每

個標簽對應一個鏡像。通常,一個倉庫會包含同一個軟件不同版本的鏡像,而標簽對應

該軟件的各個版本。用戶可通過“[<倉庫名>:<標簽>]”的格式來指定具體是某個軟件某

個版本的鏡像。如未給出標簽,將以[latest]作為默認標簽。

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

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

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

gistry registry:2

參數說明:

-d:后臺啟動容器。

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

-v:將容器"/var/lib/registry"目錄映射至 Ubuntu 的"/home/tronlong/docker/registry",用于

存放鏡像數據。

wKgZomW4k-mAdI4IAADoV2Y2g_8521.png

請執行如下命令,查看容器是否已啟動,出現如下內容說明容器已正常啟動。

Host# sudo docker ps

wKgZomW4k_uAEOwrAABH5fm5BqE346.png

請通過瀏覽器訪問"http://192.168.31.32:5000/v2/_catalog",如返回如下內容則說明 r

egistry 已經成功啟動,192.168.31.32 為 Ubuntu 的 IP。

wKgaomW4lACALoroAAAmNdrO_ZY324.png

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

3 構建鏡像

請在 Ubuntu 上新建工作目錄"/home/tronlong/docker/dockerfile/",并將產品資料“4

-軟件資料LinuxFilesystemdocker”目錄下的文件系統壓縮包和產品資料“4-軟件資料

Demobase-demosled_flashbin”目錄下的可執行文件拷貝至 Ubuntu 共享目錄下,再執

行如下命令拷貝至 Docker 工作目錄。

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

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

Host# cp /mnt/hgfs/SharedFolders/rootfs.tar /home/tronlong/docker/dockerfile/

wKgZomW4lCeAT8QiAAB8xtyRH5s109.png

在"/home/tronlong/docker/dockerfile/"目錄下,創建 Dockerfile 文件,并編寫如下內容。

Host# cd /home/tronlong/docker/dockerfile

Host# gedit Dockerfile

wKgaomW4lDCAcxXwAABFuPAoAH4861.pngwKgaomW4lDCAJxd8AACbSRK0veM127.png

Dockerfile 文件內容如下:

FROM scratch

#基于空的基礎鏡像構建新的鏡像

# Set work directory

WORKDIR /root

#為 CMD、COPY 和 AND 設置工作目錄

# Decompress the file system

ADD rootfs.tar /

#解壓文件系統

# Copy file to image

COPY led_flash .

#拷貝可執行文件至鏡像的"/home/root/"目錄下

# Shell command executed when the container is started

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

CMD ["./led_flash", "-n 2"]

#容器啟動時執行的 shell 命令,此處為執行 LED 閃爍程序的命令

在 Dockerfile 文件所在的目錄下執行如下命令,進行構建鏡像。

Host# sudo docker build -t 192.168.31.32:5000/led_flash:v1.0 .//注意命令最后含有"."

Host# sudo docker images

//查看已構建的鏡像

參數說明:

192.168.31.32:Ubuntu 的 IP 地址;

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

wKgZomW4lEmAB7UcAAB__YaBbp4748.png

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

Host# sudo docker push 192.168.31.32:5000/led_flash:v1.0

wKgaomW4lLKAFPrNAABZQA2C4YU303.png

Docker 版本從 1.3.X 之后,與 Docker Registry 交互默認使用 https,然而前面搭建的

私有倉庫僅提供 http 服務,因此當與私有倉庫交互時將出現上面的錯誤提示。可通過修

改"/etc/docker/daemon.json"文件來解決該問題,請執行如下命令,192.168.31.32 為 Ubu

ntu 的 IP。

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

圖 18

請在 daemon.json 中添加如下配置內容:

{

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

}

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

本地 Registry。

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

Host# sudo docker ps -a

Host# sudo docker start d671bd37669f

//以查詢得到的 CONTAINER ID 號為準

Host# sudo docker push 192.168.31.32:5000/led_flash:v1.0

wKgaomW4lSSAWCPnAADm0_IbkjA725.png

通過瀏覽器訪問"http://192.168.31.32:5000/v2/_catalog",即可看到當前倉庫里已有的

鏡像。

wKgaomW4lSqAWqenAAAubEmXaXA696.png

4 下載鏡像并運行容器

(1) 請使用網線將評估板 ETH0 RGMII 網口連接至路由器,并確保和 Ubuntu 處于同一

網絡下,評估板上電啟動,執行如下命令下載鏡像并列舉出下載后的鏡像。

Target#

docker pull 192.168.31.32:5000/led_flash:v1.0

//下載鏡像

Target#

docker images

//列舉已下載的鏡像

wKgZomW4lT-AIY8gAABzEJfNs_o291.png

若出現如下錯誤,請執行如下命令,通過修改"/etc/docker/daemon.json"文件來解決

此問題,修改保存后,重新啟動 docker。

wKgZomW4lUWAVy1ZAAAyt5S91Do525.png

Target#

vi /etc/docker/daemon.json

wKgZomW4lUyANmU9AAATjmzh6ww779.png

請在 daemon.json 中添加如下配置內容:

{

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

}

Target#

/etc/init.d/S60dockerd restart

//重新啟動 docker

wKgaomW4lVOAXZyxAAAftkEWqIg479.png

(2) 創建并啟動容器。由于 Docker 使用 VFS 存儲驅動程序,當創建容器時,需要先

創建容器層,該容器層需要對上一層進行“深拷貝”,因此完成創建并啟動容器整個

過程需要耗時約 1min,請耐心等待。

Target#

docker run -d --name led_flash -v /sys/:/sys 99024551b31b

參數說明:

-d:后臺運行容器;

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

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

99024551b31b:鏡像 ID,以 docker images 命令列舉的"IMAGE ID"為準。

wKgaomW4lWiAWI7XAADxPa0V2z8554.png

容器啟動完成后,評估底板的 2 個用戶可編程指示燈同時閃爍。

(3) 容器的基本操作

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

Target#

docker ps -a

Target#

docker exec -it 39e1f65efff8 /bin/bash

參數說明:

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

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

39e1f65efff8:容器 ID,以實際"CONTAINER ID"為準;

/bin/bash:在容器內執行"/bin/bash"命令。

wKgaomW4lXuAMjI7AAAwy4gUTKs156.png

執行如下命令,退出容器。

Bash# exit

wKgaomW4lX-Aa_xFAAAjNlZx7oA868.png

執行如下命令,停止容器。此時,評估底板的 2 個用戶可編程指示燈不再閃爍。

Target#

docker stop 39e1f65efff8

wKgaomW4lYSAKxBNAABYHU41z8Q856.png

執行如下命令,啟動容器。此時,評估底板的 2 個用戶可編程指示燈同時閃爍。

Target#

docker start 39e1f65efff8

wKgZomW4lYyAICJ1AACFWeYkuno371.png.

審核編輯 黃宇



審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Docker
    +關注

    關注

    0

    文章

    492

    瀏覽量

    11916
收藏 人收藏

    評論

    相關推薦

    RK3568-Docker容器部署方法說明

    RK3568-Docker容器部署方法說明
    的頭像 發表于 01-22 10:12 ?1460次閱讀
    RK3568-<b class='flag-5'>Docker</b><b class='flag-5'>容器</b><b class='flag-5'>部署</b><b class='flag-5'>方法</b><b class='flag-5'>說明</b>

    TLT507-Linux應用開發手冊

    TLT507-Linux應用開發手冊
    的頭像 發表于 01-26 09:34 ?731次閱讀
    <b class='flag-5'>TLT507</b>-Linux應用開發手冊

    TLT507-Qt工程編譯說明

    TLT507-Qt工程編譯說明
    的頭像 發表于 01-26 09:37 ?1186次閱讀
    <b class='flag-5'>TLT507</b>-Qt工程編譯<b class='flag-5'>說明</b>

    TLT507-Linux-RT應用開發案例

    TLT507-Linux-RT應用開發案例
    的頭像 發表于 01-26 09:46 ?722次閱讀
    <b class='flag-5'>TLT507</b>-Linux-RT應用開發案例

    TLT507-Ubuntu系統使用說明

    TLT507-Ubuntu系統使用說明
    的頭像 發表于 01-26 09:58 ?1067次閱讀
    <b class='flag-5'>TLT507</b>-Ubuntu系統使用<b class='flag-5'>說明</b>

    TLT507-GDB程序調試方法說明

    TLT507-GDB程序調試方法說明
    的頭像 發表于 01-26 10:11 ?1010次閱讀
    <b class='flag-5'>TLT507</b>-GDB程序調試<b class='flag-5'>方法</b><b class='flag-5'>說明</b>

    TLT507-物聯網模塊開發案例

    TLT507-物聯網模塊開發案例
    的頭像 發表于 01-26 10:26 ?929次閱讀
    <b class='flag-5'>TLT507</b>-物聯網模塊開發案例

    TLT507-視頻開發案例

    TLT507-視頻開發案例
    的頭像 發表于 01-26 10:50 ?1008次閱讀
    <b class='flag-5'>TLT507</b>-視頻開發案例

    TLT507-ARM + FPGA通信案例

    TLT507-ARM + FPGA通信案例
    的頭像 發表于 01-26 11:05 ?1094次閱讀
    <b class='flag-5'>TLT507</b>-ARM + FPGA通信案例

    TLT507-多通道AD采集開發案例

    TLT507-多通道AD采集開發案例
    的頭像 發表于 01-26 11:28 ?1127次閱讀
    <b class='flag-5'>TLT507</b>-多通道AD采集開發案例

    TLT507-Android操作系統演示案例

    TLT507-Android操作系統演示案例
    的頭像 發表于 01-26 14:57 ?1215次閱讀
    <b class='flag-5'>TLT507</b>-Android操作系統演示案例

    TLT507-Linux系統使用手冊

    TLT507-Linux系統使用手冊
    的頭像 發表于 01-26 16:34 ?1566次閱讀
    <b class='flag-5'>TLT507</b>-Linux系統使用手冊

    Docker容器管理命令(二)

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

    TLT507-Android應用開發手冊

    TLT507-Android應用開發手冊
    的頭像 發表于 01-26 15:32 ?573次閱讀
    <b class='flag-5'>TLT507</b>-Android應用開發手冊

    TLT507-Android開發環境搭建

    TLT507-Android開發環境搭建
    的頭像 發表于 01-26 17:03 ?625次閱讀
    <b class='flag-5'>TLT507</b>-Android開發環境搭建
    主站蜘蛛池模板: 亚洲午夜精品aaa级久久久久| 3DNagoonimation动漫| 91精品国产色综合久久| 九九热最新视频| 亚洲白色白色在线播放| 国产美熟女乱又伦AV| 无码国产欧美日韩精品| 国产精品亚洲精品久久品| 香蕉久久日日躁夜夜嗓| 国产亚洲精品线视频在线| 午夜AV亚洲一码二中文字幕青青| 国产精品XXXXX免费A片| 小夫妻天天恶战| 国产最猛性XXXX69交| 亚洲欧美精品一中文字幕| 久久re热在线视频精99| 11 13加污女qq看他下面| 麻豆传煤网站网址入口在线下载 | 久久亚洲AV成人无码动态图| 在线精品视频成人网| 伦理片qvod| 被免费网站在线视频| 天津相声广播在线收听| 好大太快了快插穿子宫了| 中文字幕人成人乱码亚洲AV| 女子初尝黑人巨嗷嗷叫| 大香伊人久久| 亚洲a免费| 刘梓晨啪啪啪| 超碰97av 在线人人操| 午夜福利08550| 久久99国产综合精品AV蜜桃| 999在线观看精品免费| 日日噜噜夜夜狠狠扒开双腿| 国产午夜精品片一区二区三区| 一个人的免费高清影院| 欧美6O老妪与小伙交| 国产精品内射久久久久欢欢| 伊人久久大香线蕉综合电影网| 欧美日韩北条麻妃一区二区| 国产精品一区二区人妻无码|