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

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

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

ArmSoM-W3應(yīng)用開(kāi)發(fā)之安裝docker

ARMSOM ? 2023-11-20 10:05 ? 次閱讀


1. 簡(jiǎn)介

RK3588從入門到精通系列專題

開(kāi)發(fā)板:ArmSoM-W3

Kernel:5.10.160

OS:Debian11

本?介紹ArmSoM-W3在Debian11下如何安裝使用docker

2.Rockchip 平臺(tái)系統(tǒng)運(yùn)行docker

Docker運(yùn)行對(duì)內(nèi)核配置有要求,需要 kernel 開(kāi)啟 cgroups、namespace、netfilter、overlayfs 等功能的?持,這些配置打開(kāi)才滿足docker運(yùn)行的要求。

ArmSoM發(fā)布的普通固件一般不滿足 Docker 的運(yùn)行要求,如果有需求可以用我們配置過(guò)的內(nèi)核固件,或者按照下文自己配置。

2.1 kernel配置

Docker開(kāi)源團(tuán)隊(duì)提供了一個(gè)檢測(cè)腳本,用以檢測(cè)內(nèi)核配置是否符合Docker運(yùn)行的要求,下載腳本到SDK源碼kernel目錄下。

輸入如下命令:

chmod 777 check-config.sh ? ./check-config.sh .config

注意:.config需要在內(nèi)核配置完后才會(huì)生成

得到如下打印:

lhd@ydtx:~/project_code/3588/3588_linux5.10_v1.0.5/kernel$ ./check-config.sh .config info: reading kernel config from .config ... ? Generally Necessary: - cgroup hierarchy: cgroupv2 Controllers: - cpu: available - cpuset: available - io: available - memory: available - pids: available - apparmor: enabled and tools installed - CONFIG_NAMESPACES: enabled - CONFIG_NET_NS: enabled - CONFIG_PID_NS: enabled - CONFIG_IPC_NS: enabled - CONFIG_UTS_NS: enabled - CONFIG_CGROUPS: enabled - CONFIG_CGROUP_CPUACCT: enabled - CONFIG_CGROUP_DEVICE: enabled - CONFIG_CGROUP_FREEZER: enabled - CONFIG_CGROUP_SCHED: enabled - CONFIG_CPUSETS: enabled - CONFIG_MEMCG: enabled - CONFIG_KEYS: enabled - CONFIG_VETH: enabled - CONFIG_BRIDGE: enabled - CONFIG_BRIDGE_NETFILTER: enabled - CONFIG_IP_NF_FILTER: enabled - CONFIG_IP_NF_TARGET_MASQUERADE: enabled - CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled - CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled - CONFIG_NETFILTER_XT_MATCH_IPVS: enabled - CONFIG_NETFILTER_XT_MARK: enabled - CONFIG_IP_NF_NAT: enabled - CONFIG_NF_NAT: enabled - CONFIG_POSIX_MQUEUE: enabled - CONFIG_CGROUP_BPF: enabled ? Optional Features: - CONFIG_USER_NS: enabled - CONFIG_SECCOMP: enabled - CONFIG_SECCOMP_FILTER: enabled - CONFIG_CGROUP_PIDS: enabled - CONFIG_MEMCG_SWAP: enabled (cgroup swap accounting is currently enabled) - CONFIG_BLK_CGROUP: enabled - CONFIG_BLK_DEV_THROTTLING: missing - CONFIG_CGROUP_PERF: enabled - CONFIG_CGROUP_HUGETLB: missing - CONFIG_NET_CLS_CGROUP: enabled (as module) - CONFIG_CGROUP_NET_PRIO: missing - CONFIG_CFS_BANDWIDTH: enabled - CONFIG_FAIR_GROUP_SCHED: enabled - CONFIG_RT_GROUP_SCHED: missing - CONFIG_IP_NF_TARGET_REDIRECT: enabled (as module) - CONFIG_IP_VS: enabled - CONFIG_IP_VS_NFCT: enabled - CONFIG_IP_VS_PROTO_TCP: enabled - CONFIG_IP_VS_PROTO_UDP: enabled - CONFIG_IP_VS_RR: enabled (as module) - CONFIG_SECURITY_SELINUX: missing - CONFIG_SECURITY_APPARMOR: missing - CONFIG_EXT4_FS: enabled - CONFIG_EXT4_FS_POSIX_ACL: enabled - CONFIG_EXT4_FS_SECURITY: enabled - Network Drivers: - "overlay": - CONFIG_VXLAN: enabled (as module) - CONFIG_BRIDGE_VLAN_FILTERING: enabled Optional (for encrypted networks): - CONFIG_CRYPTO: enabled - CONFIG_CRYPTO_AEAD: enabled - CONFIG_CRYPTO_GCM: enabled - CONFIG_CRYPTO_SEQIV: enabled (as module) - CONFIG_CRYPTO_GHASH: enabled - CONFIG_XFRM: enabled - CONFIG_XFRM_USER: enabled - CONFIG_XFRM_ALGO: enabled - CONFIG_INET_ESP: enabled (as module) - "ipvlan": - CONFIG_IPVLAN: enabled (as module) - "macvlan": - CONFIG_MACVLAN: enabled (as module) - CONFIG_DUMMY: enabled (as module) - "ftp,tftp client in container": - CONFIG_NF_NAT_FTP: enabled (as module) - CONFIG_NF_CONNTRACK_FTP: enabled (as module) - CONFIG_NF_NAT_TFTP: enabled (as module) - CONFIG_NF_CONNTRACK_TFTP: enabled (as module) - Storage Drivers: - "aufs": - CONFIG_AUFS_FS: missing - "btrfs": - CONFIG_BTRFS_FS: missing - CONFIG_BTRFS_FS_POSIX_ACL: missing - "devicemapper": - CONFIG_BLK_DEV_DM: enabled (as module) - CONFIG_DM_THIN_PROVISIONING: enabled (as module) - "overlay": - CONFIG_OVERLAY_FS: enabled (as module) - "zfs": - /dev/zfs: present - zfs command: missing - zpool command: missing ? Limits: - /proc/sys/kernel/keys/root_maxkeys: 1000000

Generally Necessary是內(nèi)核必須配置項(xiàng),Optional Features是可選配置項(xiàng)

如果檢測(cè)Generally Necessary下面的結(jié)果是missing或者enabled (as module),都可以去對(duì)應(yīng)配置那設(shè)置為Y。

2.2 Debian 配置

Debian 默認(rèn)使? iptables-nft,? docker 默認(rèn)使? iptableslegacy,故需要配置 iptables 使? legacy 版本,可以通過(guò)以下命令進(jìn)?切換:

# 使? iptables-legacy update-alternatives --set iptables /usr/sbin/iptables-legacy update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy # 使? iptables-nft update-alternatives --set iptables /usr/sbin/iptables-nft update-alternatives --set ip6tables /usr/sbin/ip6tables-nft

2.3 安裝Docker

在RK3588上安裝Docker,按照以下步驟進(jìn)行操作:

1.更新系統(tǒng):

在開(kāi)始安裝Docker之前,確保系統(tǒng)是最新的。運(yùn)行以下命令:

sudo apt update sudo apt upgrade

2.安裝依賴項(xiàng):

安裝Docker所需的一些依賴項(xiàng):

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

3.添加Docker官方GPG密鑰:

通過(guò)添加Docker官方的GPG密鑰來(lái)信任官方存儲(chǔ)庫(kù):

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

4.設(shè)置Docker存儲(chǔ)庫(kù):

添加Docker存儲(chǔ)庫(kù)到APT源列表中:

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

5.安裝Docker引擎:

更新APT軟件包索引并安裝Docker引擎:

sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io

6.啟動(dòng)Docker服務(wù):

安裝完成后,啟動(dòng)Docker服務(wù):

sudo systemctl start docker

還可以將Docker設(shè)置為在系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng):

sudo systemctl enable docker

7.驗(yàn)證安裝:

運(yùn)行以下命令以驗(yàn)證Docker是否正確安裝:

sudo docker pull hello-world sudo docker run hello-world

如果一切順利,應(yīng)該能夠看到hello-world容器成功運(yùn)行。

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

    關(guān)注

    25

    文章

    4896

    瀏覽量

    97059
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    453

    瀏覽量

    11792
  • RK3588
    +關(guān)注

    關(guān)注

    6

    文章

    303

    瀏覽量

    4144
  • Debian
    +關(guān)注

    關(guān)注

    0

    文章

    74

    瀏覽量

    1127
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Docker運(yùn)行環(huán)境安裝

    、發(fā)布、測(cè)試和部署,可以幫助開(kāi)發(fā)人員將最新版本代碼應(yīng)用到生產(chǎn)環(huán)境中。 Docker可以安裝在多個(gè)平臺(tái)中,包括Mac、Windows和Linux。不過(guò),生產(chǎn)環(huán)境還是推薦在Linux上運(yùn)行,以下以主流的Linux操作系統(tǒng)(CentO
    的頭像 發(fā)表于 10-29 11:28 ?125次閱讀

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

    本帖最后由 Tronlong創(chuàng)龍科技 于 2024-7-26 08:51 編輯 什么是Docker? (1)Docker的架構(gòu)Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可打包
    發(fā)表于 07-25 14:36

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

    本帖最后由 Tronlong創(chuàng)龍科技 于 2024-7-19 16:50 編輯 什么是Docker? (1)Docker的架構(gòu)Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可打包
    發(fā)表于 07-17 11:05

    寶塔面板Docker一鍵安裝:部署GPTAcademic,開(kāi)發(fā)私有GPT學(xué)術(shù)優(yōu)化工具

    gptacademic,并將其部署到服務(wù)器上,從而開(kāi)發(fā)出專屬于自己的GPT學(xué)術(shù)優(yōu)化工具。 ? 寶塔面板Docker一鍵安裝gptacademi
    的頭像 發(fā)表于 07-02 11:58 ?2395次閱讀
    寶塔面板<b class='flag-5'>Docker</b>一鍵<b class='flag-5'>安裝</b>:部署GPTAcademic,<b class='flag-5'>開(kāi)發(fā)</b>私有GPT學(xué)術(shù)優(yōu)化工具

    RK3576開(kāi)發(fā)板NPU激發(fā)無(wú)限創(chuàng)新!體驗(yàn)6TOPS強(qiáng)勁性能的奇妙之旅

    RKNN SDK 快速上手指南 開(kāi)發(fā)板:ArmSoM-W3,ArmSoM-Sige7,ArmSoM-Sige5,ArmSoM-AIM7 OS
    的頭像 發(fā)表于 05-24 10:01 ?1033次閱讀
    RK3576<b class='flag-5'>開(kāi)發(fā)</b>板NPU激發(fā)無(wú)限創(chuàng)新!體驗(yàn)6TOPS強(qiáng)勁性能的奇妙之旅

    適合大學(xué)生的鴻蒙開(kāi)發(fā)板-Purple Pi OH安裝Docker

    介紹本文基于purple-pi-oh系列主板演示Linux系統(tǒng)安裝Docker,方法適用于RK3566全系列產(chǎn)品。本教程將指導(dǎo)你在基于RK3566的LInux系統(tǒng)上安裝Docker。
    的頭像 發(fā)表于 05-10 08:32 ?521次閱讀
    適合大學(xué)生的鴻蒙<b class='flag-5'>開(kāi)發(fā)</b>板-Purple Pi OH<b class='flag-5'>之</b><b class='flag-5'>安裝</b><b class='flag-5'>Docker</b>

    Docker容器技術(shù)的安裝和使用

    通過(guò)Docker,開(kāi)發(fā)人員可以更容易地構(gòu)建、交付和運(yùn)行應(yīng)用程序,同時(shí)確保應(yīng)用程序的一致性和可移植性。它也使得應(yīng)用程序的部署更加靈活和高效,因?yàn)樗梢钥焖俚貑?dòng)、停止和擴(kuò)展容器,而不會(huì)影響其他容器或主機(jī)系統(tǒng)。
    發(fā)表于 04-16 11:24 ?280次閱讀
    <b class='flag-5'>Docker</b>容器技術(shù)的<b class='flag-5'>安裝</b>和使用

    ArmSoM Rockchip系列產(chǎn)品 通用教程 Display 使用

    品上需要?持 8K 顯?輸出,VP1 上要注意不要連接其他顯?接口。 1.2 RK3588支持的顯示接口? 2個(gè)DP 2個(gè)HDMI/eDP 共用接口 2個(gè)MIPI DSI BT656/BT1120 2. ArmSoM-W3顯示接口? ArmSoM-W3有著豐富的顯示接口
    的頭像 發(fā)表于 03-06 15:50 ?1290次閱讀
    <b class='flag-5'>ArmSoM</b> Rockchip系列產(chǎn)品 通用教程 <b class='flag-5'>之</b> Display 使用

    【昉·星光 2 高性能RISC-V單板計(jì)算機(jī)體驗(yàn)】為 Ubuntu 安裝 Docker 及常用軟件

    : 獲取鏡像 通常來(lái)說(shuō),RISC-V 架構(gòu)的開(kāi)發(fā)板不能使用基于其他架構(gòu)開(kāi)發(fā)的鏡像,下面是一些基于 RISC-V 鏡像的合集:https://hub.docker.com/u/riscv64/
    發(fā)表于 02-21 17:54

    迅為3588開(kāi)發(fā)板Ubuntu安裝Docker

    迅為3588開(kāi)發(fā)板Ubuntu安裝Docker
    的頭像 發(fā)表于 01-29 16:07 ?638次閱讀
    迅為3588<b class='flag-5'>開(kāi)發(fā)</b>板Ubuntu<b class='flag-5'>安裝</b><b class='flag-5'>Docker</b>

    如何利用樹(shù)莓派安裝DockerDocker-compose呢?

    本文主要演示了樹(shù)莓派如何安裝DockerDocker-compose的過(guò)程。
    的頭像 發(fā)表于 12-14 16:19 ?2679次閱讀
    如何利用樹(shù)莓派<b class='flag-5'>安裝</b><b class='flag-5'>Docker</b>和<b class='flag-5'>Docker</b>-compose呢?

    系統(tǒng)鏡像燒錄

    -桌面類型-更新時(shí)間 1.1.2. 產(chǎn)品型號(hào)? ArmSoM-W3 :產(chǎn)品型號(hào)如 ArmSoM-W3 1.1.3. 根文件系統(tǒng)? debian-bullseye : 代表系統(tǒng)使用的根文件系統(tǒng)
    發(fā)表于 12-08 11:11

    如何啟動(dòng)本機(jī)docker服務(wù)

    Docker是一個(gè)開(kāi)源項(xiàng)目,可以幫助開(kāi)發(fā)者打包應(yīng)用程序及其依賴,并且能夠?qū)⑵渥鳛楠?dú)立的容器來(lái)運(yùn)行。本文將詳細(xì)介紹如何在本機(jī)上啟動(dòng)Docker服務(wù)。 第一步:安裝
    的頭像 發(fā)表于 11-23 09:43 ?1943次閱讀

    linux docker安裝部署

    Docker是一種開(kāi)源的容器化平臺(tái),可以幫助開(kāi)發(fā)者在不同的環(huán)境中快速構(gòu)建、測(cè)試和部署應(yīng)用程序。它能夠解決不同操作系統(tǒng)之間的兼容性問(wèn)題,簡(jiǎn)化了應(yīng)用程序的部署過(guò)程,并提供了高效的資源利用。本文將帶您詳細(xì)
    的頭像 發(fā)表于 11-23 09:27 ?1022次閱讀