本文演示了基于HD-RK3568-IOT评估板在Debian系统上安装Docker。此方法适用于所有RK356X产品。
HD-RK3568-IOT评估板基于HD-RK3568-CORE工业级核心板设计(双网口、双CAN、5路串口)。接口丰富,适合工业现场应用需求。也方便用户对核心板和CPU进行评估。表现。适用于工业自动化控制、人机界面、中小型医疗分析仪、电力等工业应用。
使用Docker需要内核支持CGROUP、BRIDGE等功能。如果内核中没有启用相关配置,那么在安装或者运行Docker时就会出现各种错误。 Docker开源团队提供了一个脚本https://github.com/moby/moby/blob/master/contrib/check-config.sh来检测内核配置是否满足Docker运行的要求。
将脚本下载到源代码内核目录。输入以下命令:
chmod777check-config.sh
./check-config.sh.config
|注意:配置内核后需要生成.config。
check-config.sh使用如下:
#./check_config.sh./kernel/.config
info:从./kernel/.config读取kernelconfig.
一般需要:
-cgrouphierarchy:正确安装[/sys/fs/cgroup]
-apparmor:已启用并已安装工具
-CONFIG_NAMESPACES:已启用
-CONFIG_NET_NS:启用
-CONFIG_PID_NS:启用
-CONFIG_IPC_NS:启用
-CONFIG_UTS_NS:启用
-CONFIG_CGROUPS:启用
-CONFIG_CGROUP_CPUACCT:启用
-CONFIG_CGROUP_DEVICE:启用
-CONFIG_CGROUP_FREEZER:启用
-CONFIG_CGROUP_SCHED:启用
-CONFIG_CPUSETS:启用
-CONFIG_MEMCG:缺失
-CONFIG_KEYS:启用
-CONFIG_VETH:缺失
-CONFIG_BRIDGE:缺失
-CONFIG_BRIDGE_NETFILTER:缺失
-CONFIG_IP_NF_FILTER:缺失
-CONFIG_IP_NF_TARGET_MASQUERADE:缺失
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE:缺失
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK:缺失
-CONFIG_NETFILTER_XT_MATCH_IPVS:缺失
-CONFIG_IP_NF_NAT:缺失
-CONFIG_NF_NAT:缺失
-CONFIG_POSIX_MQUEUE:缺失
可选功能:
-CONFIG_USER_NS:启用
-CONFIG_SECCOMP:启用
-CONFIG_SECCOMP_FILTER:启用
-CONFIG_CGROUP_PIDS:缺失
-CONFIG_MEMCG_SWAP:缺失
-CONFIG_MEMCG_SWAP_ENABLED:缺失
-CONFIG_BLK_CGROUP:缺失
-CONFIG_BLK_DEV_THROTTLING:缺失
-CONFIG_CGROUP_PERF:缺失
-CONFIG_CGROUP_HUGETLB:缺失
-CONFIG_NET_CLS_CGROUP:缺失
-CONFIG_CGROUP_NET_PRIO:缺失
-CONFIG_CFS_BANDWIDTH:启用
-CONFIG_FAIR_GROUP_SCHED:启用
-CONFIG_RT_GROUP_SCHED:缺失
-CONFIG_IP_NF_TARGET_REDIRECT:缺失
-CONFIG_IP_VS:缺失
-CONFIG_IP_VS_NFCT:缺失
-CONFIG_IP_VS_PROTO_TCP:缺失
-CONFIG_IP_VS_PROTO_UDP:缺失
-CONFIG_IP_VS_RR:缺失
-CONFIG_SECURITY_SELINUX:缺失
-CONFIG_SECURITY_APPARMOR:缺失
执行以下命令安装Docker:
更新替代方案--setiptables/usr/sbin/iptables-legacy
更新替代方案--setip6tables/usr/sbin/ip6tables-legacy
卷曲-fsSLhttps://get.docker.com-oget-docker.sh
sudoshget-docker.sh
echo'{'registry-mirrors':['https://reg-mirror.qiniu.com/']}'/etc/docker/daemon.json
sudosystemctldaemon-reload
sudosystemctlrestartdocker
修改配置文件/etc/docker/daemon.json,配置后重启系统。
{'注册表镜像':[
'https://ung2thfc.mirror.aliyuncs.com',
'https://registry.docker-cn.com',
'http://hub-mirror.c.163.com',
'https://docker.mirrors.ustc.edu.cn']}
root@hd-rk3568:~$dockerrunhello-world
如果打印信息提示“HellofromDecoker!”,则说明安装成功,验证通过。
创建并启动新容器
docker运行
dockerrun-d --namemy-containermy-image
启动创建的容器
dockerstart
dockerstartmy-container
停止已创建的容器
泊坞站
dockerstopmy-容器
列出所有正在运行的容器
码头工人
dockerps-a
列出所有本地镜像
docker镜像
dockerimages-a
删除已停止的容器
dockerrm
dockerrmmy 容器
删除本地镜像
dockerrmi
dockerrmimy-image:1.0.0
在运行容器中执行命令
docker执行程序
dockerexec-itmy-containerbash