瑞芯微RK3568:Debian系统如何安装Docker

2023-09-18 17:27:51

本文基于HD-RK3568-IOT评估板演示Debian系统安装Docker,该方法适用于RK356X全系产品。

HD-RK3568-IOT评估板基于HD-RK3568-CORE 工业级核心板设计(双网口、双CAN、5路串口),接口丰富,适用于工业现场应用需求,亦方便用户评估核心板及CPU 的性能。适用于工业自动化控制、人机界面、中小型医疗分析器、电力等多种行业应用。

1. 检测内核配置

使用 Docker 需要内核支持 CGROUP、BRIDGE 等功能,如果内核中未开启相关配置,安装或运行 Docker 会出现各种错误。Docker开源团队提供了一个脚本https://github.com/moby/moby/blob/master/contrib/check-config.sh,用以检测内核配置是否符合Docker运行的要求。

下载脚本到源码内核目录下。输入如下命令:

chmod 777 check-config.sh

./check-config.sh .config

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

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

2. 安装docker

执行以下命令安装Docker:

update-alternatives --set iptables /usr/sbin/iptables-legacy

update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

curl -fsSL https://get.docker.com -o get-docker.sh

sudo sh get-docker.sh

echo "{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}" > /etc/docker/daemon.json

sudo systemctl daemon-reload

sudo systemctl restart docker

3. 配置国内镜像加速

修改配置文件/etc/docker/daemon.json,配置完后重启系统。

{"registry-mirrors": [

"https://ung2thfc.mirror.aliyuncs.com",

"https://registry.docker-cn.com",

"http://hub-mirror.c.163.com",

"https://docker.mirrors.ustc.edu.cn"]}

4. 验证测试

root@hd-rk3568:~ $ docker run hello-world

3.png

若打印信息提示“Hello from Decoker !”则说明已经安装成功,验证通过,

5. Docker常用操作

创建并启动一个新的容器

docker  run

docker run -d --name my-container my-image

启动已创建的容器

docker  start

docker start my-container

停止已创建的容器

docker  stop

docker stop my-container

列出所有正在运行的容器

docker  ps

docker ps -a

列出所有本地镜像

docker  images

docker images -a

删除已停止的容器

docker  rm

docker rm my-container

删除本地镜像

docker  rmi

docker rmi my-image:1.0.0

在正在运行的容器中执行命令

docker  exec

docker exec -it my-container bash

更多推荐

h5下载文件,无兼容问题~

最近写了个页面,打开页面出现文件列表,用户可以下载文件。失败方案使用a标签进行下载,参考代码如下:因为有批量下载的需求,这里将xhr请求单独封装到downloadFile.js中//downloadFile.jsconstdownloadFile=(url,onProgress,xhrAr)=>{console.log

Linux知识点 -- 网络基础(二)-- 应用层

Linux知识点–网络基础(二)--应用层文章目录Linux知识点--网络基础(二)--应用层一、使用协议来实现一个网络版的计算器1.自定义协议2.守护进程3.使用json来完成序列化二、HTTP协议1.概念2.HTTP协议请求和响应的报文格式3.使用HTTP协议进行网络通信4.HTTP协议的方法5.HTTP协议的状态

postgresql完整备份,增量备份,差异备份详细说明及对比(InsCode AI 创作助手)

postgresql完整备份,增量备份,差异备份详细说明及对比PostgreSQL是一款开源的关系型数据库管理系统,为了确保数据的安全性和可恢复性,数据库备份是至关重要的。在这篇博客中,我们将深入探讨PostgreSQL备份策略,包括完整备份、增量备份和差异备份,以及它们之间的比较。此外,我们还将提供相应的备份和恢复示

代理IP与Socks5代理:跨界电商智能爬虫的引擎与安全壁垒

一、引言跨界电商已成为全球商业发展的重要趋势,但要成功进入多样化的市场,企业需要大量的市场数据和对隐私安全的保障。代理IP和Socks5代理是两项关键技术,它们在这一领域的应用对于企业的成功至关重要。二、代理IP:跨界电商的智能数据引擎多地区数据采集:代理IP能够模拟不同地区的IP地址,帮助企业轻松采集多地区的市场数据

对IP协议概念以及IP地址的概念进行简单整理

网络层重要协议参考模型和协议栈IP协议IPv4数据报IP数据报格式IPv4地址特殊IP地址私有IP地址和公有IP地址子网划分参考模型和协议栈IP协议IP协议定义了网络层数据传送的基本单元,也制定了一系列关于网络层的规则。IPv4数据报网络层的协议数据单元PDU叫做分组;网络层的传输单位叫做数据报。协议数据单元PDU是对

【Java】泛型 之 擦拭法

泛型是一种类似”模板代码“的技术,不同语言的泛型实现方式不一定相同。Java语言的泛型实现方式是擦拭法(TypeErasure)。所谓擦拭法是指,虚拟机对泛型其实一无所知,所有的工作都是编译器做的。例如,我们编写了一个泛型类Pair<T>,这是编译器看到的代码:publicclassPair<T>{privateTfi

分布式系统的 38 个知识点

天天说分布式分布式,那么我们是否知道什么是分布式,分布式会遇到什么问题,有哪些理论支撑,有哪些经典的应对方案,业界是如何设计并保证分布式系统的高可用呢?1.架构设计这一节将从一些经典的开源系统架构设计出发,来看一下,如何设计一个高质量的分布式系统;而一般的设计出发点,无外乎冗余:简单理解为找个备胎,现任挂掉之后,备胎顶

Layui快速入门之第十一节 弹出层

目录一:基本用法API打开弹层基础属性弹出信息框弹出询问框弹出提示框弹出加载层弹出贴士层弹出输入框弹出图片层弹出标签层关闭弹层关闭所有层关闭最近一次打开的层2.8+全局配置默认属性样式初始化就绪重新设置弹层样式设置弹层的标题获取iframe页中的元素在iframe页中获取弹层索引设置iframe层高度自适应重新设置if

go-GC垃圾回收

GCGC是自动化内存管理回收机制虚拟内存函数栈的数据是会根据函数返回而自动销毁的,而堆上的数据是不会随着函数自动销毁的,堆内数据会随着程序运行而逐渐变大,从而导致内存OOM,Go语言就用了GC来清理堆上的内存数据。如何区分垃圾堆上内存数据不在被栈上和数据段上的引用变量所指向,那就一定是内存垃圾。这个原理称为"可达性",

PostgreSql 统一修改date字段为timestamp

在《Powdersigner+PostgreSql同步表结构到pg数据库》中,导入表结构到pg数据后,发下时间对不上了。mysql的datetime转换后pg的变成了date了。再同步到数据后,就变成日期类型了。因为表中基本都有创建时间和修改时间,两个相对固定的字段,因此想做一个统一的处理。把《postgreSql使用

租用好服务器后怎么操作?

很多企业咨询完租用好服务器后都会有一些不知所措,不知道改如何操作,今天小编就跟大家讲一讲租用好服务器后要进行以下几个注意事项。修改系统以后要尽快修改服务器的密码,租用服务器后正规的IDC服务器商是会自主完成这一步骤的,重做系统后修改好的服务器密码一定要保存好。不随意下载。不能像普通电脑一拿到手就开始立刻下载各种软件、A

热文推荐