全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

RK356X Debian/Ubuntu 系统安装Docker

时间:2023-08-04 08:40

人气:

作者:admin

标签: Docker  主板  RK3568  内核 

导读:本文基于IDO-SBC3528主板演示Debian/Ubuntu系统任何安装Docker,方法适用于RK3568全系列产品。IDO-SBC3528-V1采用RK3568四核64位开发的智能主板,可作为RK3568开发评估板,支持8G大内存;支持PCIE2.0接...

本文基于IDO-SBC3528主板演示Debian/Ubuntu 系统任何安装Docker,方法适用于RK3568全系列产品。

IDO-SBC3528-V1采用RK3568四核64位开发的智能主板,可作为RK3568开发评估板,支持8G大内存;支持PCIE2.0接口,可扩展大容量固态硬盘;支持双千兆以太网口;支持双频WiFi、蓝牙4.2以上,可扩展4G/5G网络通讯功能;具有丰富的视频输出接口(HDMI2.0/eDP1.3/MIPI1.2/LVDS) ;工业互联接口(RS232/RS485CAN)。

支持Android11/Debian10/Ubuntu20/Buildroot/麒麟OS等多种操作系统

产品规格书:IDO-SBC3528 产品手册

内核配置

使用check_config.sh脚本检查当前内核配置是否适配Docker,该脚本可从github下载:

https://github.com/opencontainers/runc/blob/main/script/check-config.sh

使用方法参考如下:

# ./check_config.sh ./kernel/.config
info: reading kernel config from ./kernel/.config ...

Generally Necessary:
- cgroup hierarchy: properly mounted [/sys/fs/cgroup]
- 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: missing
- CONFIG_KEYS: enabled
- CONFIG_VETH: missing
- CONFIG_BRIDGE: missing
- CONFIG_BRIDGE_NETFILTER: missing
- CONFIG_IP_NF_FILTER: missing
- CONFIG_IP_NF_TARGET_MASQUERADE: missing
- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: missing
- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: missing
- CONFIG_NETFILTER_XT_MATCH_IPVS: missing
- CONFIG_IP_NF_NAT: missing
- CONFIG_NF_NAT: missing
- CONFIG_POSIX_MQUEUE: missing

Optional Features:
- CONFIG_USER_NS: enabled
- CONFIG_SECCOMP: enabled
- CONFIG_SECCOMP_FILTER: enabled
- CONFIG_CGROUP_PIDS: missing
- CONFIG_MEMCG_SWAP: missing
- CONFIG_MEMCG_SWAP_ENABLED: missing
- CONFIG_BLK_CGROUP: missing
- CONFIG_BLK_DEV_THROTTLING: missing
- CONFIG_CGROUP_PERF: missing
- CONFIG_CGROUP_HUGETLB: missing
- CONFIG_NET_CLS_CGROUP: missing
- CONFIG_CGROUP_NET_PRIO: missing
- CONFIG_CFS_BANDWIDTH: enabled
- CONFIG_FAIR_GROUP_SCHED: enabled
- CONFIG_RT_GROUP_SCHED: missing
- CONFIG_IP_NF_TARGET_REDIRECT: missing
- CONFIG_IP_VS: missing
- CONFIG_IP_VS_NFCT: missing
- CONFIG_IP_VS_PROTO_TCP: missing
- CONFIG_IP_VS_PROTO_UDP: missing
- CONFIG_IP_VS_RR: missing
- CONFIG_SECURITY_SELINUX: missing
- CONFIG_SECURITY_APPARMOR: missing

./kernel/.config为当前内核的配置

提示"missing"的选项,需要到kernel目录进行make menuconfig加上,直到执行check_config.sh不再报missing项

这里是我们适配好的内核配置:

链接:https://pan.baidu.com/s/1WoeHLL5DDbSOBjpLLgQofA?pwd=1234

提取码:1234

内核配置完成后,需重新编译kernel并更新boot分区:

#./build.sh kernel

安装Docker

主板上执行以下命令安装Docker:

linaro@linaro-alip:~$ sudo apt-getupdate
linaro@linaro-alip:~$ curl -sSL https://get.docker.com/ | sudo sh

安装过程需要花费大约10分钟

安装完成后查看Docker版本:

linaro@linaro-alip:~$ docker -v
Docker version 24.0.2, build cb74dfc
linaro@linaro-alip:~$

验证

linaro@linaro-alip:~$ sudo docker run hello-world
Unable tofindimage 'hello-world:latest'locally
latest:Pulling from library/hello-world
70f5ac315c5a:Pull complete
Digest:sha256:a13ec89cdf897b3e551bd9f89d499db6ff3a7f44c5b9eb8bca40da20eb4ea1fa
Status:Downloaded newer image forhello-world:latest
[ 1228.015617] docker0: port 1(veth9b45dd3) entered blocking state
[ 1228.015735] docker0: port 1(veth9b45dd3) entered disabled state
[ 1228.017169] device veth9b45dd3 entered promiscuous mode
[ 1228.027619] IPv6: ADDRCONF(NETDEV_UP): veth9b45dd3: link isnot ready
[ 1228.343879] cgroup: cgroup: disabling cgroup2 socket matching due tonet_prio ornet_cls activation
[ 1228.596774] eth0: renamed from vethc46e61e
[ 1228.611961] IPv6: ADDRCONF(NETDEV_CHANGE): veth9b45dd3: link becomes ready
[ 1228.612131] docker0: port 1(veth9b45dd3) entered blocking state
[ 1228.612147] docker0: port 1(veth9b45dd3) entered forwarding state
[ 1228.612346] IPv6: ADDRCONF(NETDEV_CHANGE): docker0: link becomes ready

Hello from Docker!
This message shows that your installation appears tobeworking correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world"image from the Docker Hub.
(arm64v8)
3. The Docker daemon created anewcontainer from that image which runs the
executablethat produces the output you are currently reading.
4. The Docker daemon streamed that output tothe Docker client, which sent it
toyour terminal.

To trysomething more ambitious, you can run anUbuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, andmore with afree Docker ID:
https://hub.docker.com/

For more examples andideas, visit:
https://docs.docker.com/get-starte

提示"Hello from Docker!"说明Docker验证通过

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信