0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ArmSoM-W3应用开发之安装docker

ARMSOM 2023-11-20 10:05 次阅读


1. 简介

RK3588从入门到精通系列专题

开发板:ArmSoM-W3

Kernel:5.10.160

OS:Debian11

本⽂介绍ArmSoM-W3在Debian11下如何安装使用docker

2.Rockchip 平台系统运行docker

Docker运行对内核配置有要求,需要 kernel 开启 cgroups、namespace、netfilter、overlayfs 等功能的⽀持,这些配置打开才满足docker运行的要求。

ArmSoM发布的普通固件一般不满足 Docker 的运行要求,如果有需求可以用我们配置过的内核固件,或者按照下文自己配置。

2.1 kernel配置

Docker开源团队提供了一个检测脚本,用以检测内核配置是否符合Docker运行的要求,下载脚本到SDK源码kernel目录下。

输入如下命令:

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

注意:.config需要在内核配置完后才会生成

得到如下打印:

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是内核必须配置项,Optional Features是可选配置项

如果检测Generally Necessary下面的结果是missing或者enabled (as module),都可以去对应配置那设置为Y。

2.2 Debian 配置

Debian 默认使⽤ iptables-nft,⽽ docker 默认使⽤ iptableslegacy,故需要配置 iptables 使⽤ legacy 版本,可以通过以下命令进⾏切换:

# 使⽤ 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,按照以下步骤进行操作:

1.更新系统:

在开始安装Docker之前,确保系统是最新的。运行以下命令:

sudo apt update sudo apt upgrade

2.安装依赖项:

安装Docker所需的一些依赖项:

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

3.添加Docker官方GPG密钥:

通过添加Docker官方的GPG密钥来信任官方存储库:

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

4.设置Docker存储库:

添加Docker存储库到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.启动Docker服务:

安装完成后,启动Docker服务:

sudo systemctl start docker

还可以将Docker设置为在系统启动时自动启动:

sudo systemctl enable docker

7.验证安装:

运行以下命令以验证Docker是否正确安装:

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

如果一切顺利,应该能够看到hello-world容器成功运行。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    5035

    浏览量

    97384
  • Docker
    +关注

    关注

    0

    文章

    457

    浏览量

    11849
  • RK3588
    +关注

    关注

    6

    文章

    326

    浏览量

    4313
  • Debian
    +关注

    关注

    0

    文章

    75

    浏览量

    1162
收藏 人收藏

    评论

    相关推荐

    Banana Pi 携手 ArmSoM 推出人工智能加速 RK3576 CM5 计算模块

    该 SOM 配备 INT8 精度的 6 TOPS NPU、八个处理器核心和一个专用 GPU,旨在为 CM4 用户提供更高的性能。 []() Banana Pi 和 ArmSoM 宣布推出“CM5
    发表于 12-11 18:38

    三分钟学会Docker基本操作,快速入门容器威廉希尔官方网站 !

    机上一切正常”的回应,留下您满心的无奈与困惑? …… 那么,是时候学习并使用 Docker威廉希尔官方网站 了。通过快速掌握Docker,您将能够轻松实现在不同平台间上的无缝构建、测试与部署应用程序。Docker确保了
    的头像 发表于 11-11 17:22 150次阅读
    三分钟学会<b class='flag-5'>Docker</b>基本操作,快速入门容器威廉希尔官方网站
!

    如何在树莓派上安装Docker容器

    ,确保你的系统是最新的。打开终端,输入以下命令: sudo apt updatesudo apt upgrade 3. 安装Docker 步骤1:添加Docker的官方GPG密钥 cu
    的头像 发表于 11-11 11:38 510次阅读

    Docker运行环境安装

    、发布、测试和部署,可以帮助开发人员将最新版本代码应用到生产环境中。 Docker可以安装在多个平台中,包括Mac、Windows和Linux。不过,生产环境还是推荐在Linux上运行,以下以主流的Linux操作系统(CentO
    的头像 发表于 10-29 11:28 205次阅读

    如何通过Docker使用香山

    资源包在通过Docker形式提供了运行香山必须的Linux操作系统、香山开发环境、香山和仿真相关工具的代码,会大大降低自己部署环境和工具的难度,理论上比自己部署要方便。如果想自己配置,可以参看本地使用香山的文档自行安装
    的头像 发表于 10-29 09:38 205次阅读
    如何通过<b class='flag-5'>Docker</b>使用香山

    ARM平台实现Docker容器威廉希尔官方网站

    本帖最后由 Tronlong创龙科技 于 2024-7-26 08:51 编辑 什么是Docker? (1)Docker的架构Docker是一个开源的应用容器引擎,让开发者可打包
    发表于 07-25 14:36

    ARM平台实现Docker容器威廉希尔官方网站

    本帖最后由 Tronlong创龙科技 于 2024-7-19 16:50 编辑 什么是Docker? (1)Docker的架构Docker是一个开源的应用容器引擎,让开发者可打包
    发表于 07-17 11:05

    宝塔面板Docker一键安装:部署GPTAcademic,开发私有GPT学术优化工具

    gptacademic,并将其部署到服务器上,从而开发出专属于自己的GPT学术优化工具。   宝塔面板Docker一键安装gptacademi
    的头像 发表于 07-02 11:58 2568次阅读
    宝塔面板<b class='flag-5'>Docker</b>一键<b class='flag-5'>安装</b>:部署GPTAcademic,<b class='flag-5'>开发</b>私有GPT学术优化工具

    RK3576开发板NPU激发无限创新!体验6TOPS强劲性能的奇妙之旅

    RKNN SDK 快速上手指南 开发板:ArmSoM-W3ArmSoM-Sige7,ArmSoM-Sige5,ArmSoM-AIM7 OS
    的头像 发表于 05-24 10:01 1174次阅读
    RK3576<b class='flag-5'>开发</b>板NPU激发无限创新!体验6TOPS强劲性能的奇妙之旅

    适合大学生的鸿蒙开发板-Purple Pi OH安装Docker

    介绍本文基于purple-pi-oh系列主板演示Linux系统安装Docker,方法适用于RK3566全系列产品。本教程将指导你在基于RK3566的LInux系统上安装Docker
    的头像 发表于 05-10 08:32 586次阅读
    适合大学生的鸿蒙<b class='flag-5'>开发</b>板-Purple Pi OH<b class='flag-5'>之</b><b class='flag-5'>安装</b><b class='flag-5'>Docker</b>

    Docker容器威廉希尔官方网站 的安装和使用

    通过Docker开发人员可以更容易地构建、交付和运行应用程序,同时确保应用程序的一致性和可移植性。它也使得应用程序的部署更加灵活和高效,因为它可以快速地启动、停止和扩展容器,而不会影响其他容器或主机系统。
    发表于 04-16 11:24 321次阅读
    <b class='flag-5'>Docker</b>容器威廉希尔官方网站
的<b class='flag-5'>安装</b>和使用

    ARM平台实现Docker容器威廉希尔官方网站

    什么是Docker? (1)Docker的架构 Docker是一个开源的应用容器引擎,让开发者可打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windo
    的头像 发表于 03-07 13:48 801次阅读
    ARM平台实现<b class='flag-5'>Docker</b>容器威廉希尔官方网站

    ArmSoM Rockchip系列产品 通用教程 Display 使用

    品上需要⽀持 8K 显⽰输出,VP1 上要注意不要连接其他显⽰接口。 1.2 RK3588支持的显示接口​ 2个DP 2个HDMI/eDP 共用接口 2个MIPI DSI BT656/BT1120 2. ArmSoM-W3显示接口​ ArmSoM-W3有着丰富的显示接口
    的头像 发表于 03-06 15:50 1514次阅读
    <b class='flag-5'>ArmSoM</b> Rockchip系列产品 通用教程 <b class='flag-5'>之</b> Display 使用

    【昉·星光 2 高性能RISC-V单板计算机体验】为 Ubuntu 安装 Docker 及常用软件

    : 获取镜像 通常来说,RISC-V 架构的开发板不能使用基于其他架构开发的镜像,下面是一些基于 RISC-V 镜像的合集:https://hub.docker.com/u/riscv64/
    发表于 02-21 17:54

    迅为3588开发板Ubuntu安装Docker

    迅为3588开发板Ubuntu安装Docker
    的头像 发表于 01-29 16:07 737次阅读
    迅为3588<b class='flag-5'>开发</b>板Ubuntu<b class='flag-5'>安装</b><b class='flag-5'>Docker</b>