构建rknn的docker镜像

发布于:2025-03-17 ⋅ 阅读:(17) ⋅ 点赞:(0)

安装docker

瑞芯微开发板自带docker环境,可跳过

# 删除老版本的docker
sudo apt-get remove docker docker-engine

# 开始安装
sudo apt-get update
sudo apt-get install docker.io

# 查看docker版本号
sudo docker -v

更改镜像源

为了加快下载速度,更换成国内的源
编辑文件
vim /etc/docker/daemon.json
文件内容

{
    "registry-mirrors": [
        "https://docker-0.unsee.tech",
        "https://docker-cf.registry.cyou",
        "https://docker.1panel.live"
    ]
}

重启docker
service docker restart

编写dockerfile

docker hub中选择一个合适的镜像作为基类镜像,然后根据自己的需求,添加一些库。

# 继承Pytorch官方的cuda镜像
FROM loopeai/aibox-rknn-single:v1.3.1

LABEL maintainer = "xxxxxxx@qq.com"
LABEL version = "0.2"
LABEL description = "rknn environment"


RUN apt-get update \
	&& apt-get install nlohmann-json3-dev 

构建docker镜像

docker build -t rknn:v1 .
-t:指定镜像的标签(名称和版本)。
.:表示使用当前目录下的 Dockerfile 进行构建。
PS:dockerfile要在当前路径下,否则找不到

构建docker容器

在终端中键入下面的命令

sudo docker run -it \
--privileged=true \
--network host \
 --env="DISPLAY"  \
 --env="QT_X11_NO_MITSHM=1" \
 --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
 --volume="/dev:/dev" \
 -v /dev:/dev \
 -v /mnt/sdcard/yp:/yp \
 --name rknn \
 rknn:v1  /bin/bash

PS:参数的含义自己去查表,不能完全照搬。

下次进入时,查询下镜像
sudo docker ps -a
在这里插入图片描述

模板命令
docker exec -it <容器 ID 或容器名称> <要执行的命令>

  • -i:表示保持标准输入打开,用于交互式操作。

  • -t:为命令分配一个伪终端,模拟一个交互式的终端环境。

  • <容器 ID 或容器名称></容器 ID 或容器名称>``:可以通过 docker ps` 命令查看正在运行的容器的 ID 或名称。

  • <要执行的命令></要执行的命令>``:通常是 /bin/bash或/bin/sh`,用于启动一个 shell 会话。

在这里就是
sudo docker exec -it f286105c362d /bin/bash

在这里插入图片描述