概述
本文在ubuntu16.04上以gstreamer-rockchip为例,介绍rk3399 debian系统如何使用docker部署app(本文对应gstreamer-rockchip)。
docker-rokchip环境搭建
-
安装docker
sudo apt-get install docker qemu-user-static binfmt-support
-
下载docker-rockchip工程
https://github.com/rockchip-linux/docker-rockchip
-
切换到docker-rockchip工程目录
-
启动docker服务
sudo service docker start
-
构建docker-rockchip环境
sudo docker build -t rockchip .
-
等待所有下载完成后,显示如下log表示成功
Step 44/44 : USER rk ---> Using cache ---> ca6876e0fdf1 Successfully built ca6876e0fdf1 Successfully tagged rockchip:latest
生成xxx.deb安装包
-
下载app源代码,rk官方提供的gstreamer-rockchip包可能使用docker打包会失败,推荐使用Caesar老师的仓库,选择debian开头的分支,本文选择分支为:debian-20190809
https://github.com/Caesar-github/gstreamer-rockchip/
-
比如上述代码下载下载路径为:/home/xlr/Programes/rockchip/gstreamer-rockchip
-
执行如下命令,其中
/home/xlr/Programes/rockchip
为app所在路径,/home/rk/packages
则用于进入Docker后使用的路径,可保持不变。
docker run -it -v /home/xlr/Programes/rockchip:/home/rk/packages rockchip /bin/bash
-
执行玩上述命令后,会进入Docker提示符状态。然后切换目录到
/home/rk/packages
,此时能发现上一条命令中指定的/home/xlr/Programes/rockchip
路径下的东西,在Docker中都出现在/home/rk/packages
目录中,可以直接切换到app路径内,如下所示:xlr@xlr:~/Programes/rockchip/docker-rockchip$ sudo service docker start xlr@xlr:~/Programes/rockchip/docker-rockchip$ sudo docker build -t rockchip . xlr@xlr:~/Programes/rockchip/docker-rockchip$ sudo docker run -it -v /home/xlr/Programes/rockchip:/home/rk/packages rockchip /bin/bash rk@44ed60400377:/$ rk@44ed60400377:/$ cd /home/rk/packages/gstreamer-rockchip/
-
开始打包,打包成功后会在
/home/xlr/Programes/rockchip
找到xxx.deb文件
rk@44ed60400377:~/packages/gstreamer-rockchip$ DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -rfakeroot -b -d -uc -us -aarm64
安装xxx.deb
将新生成的gstreamer1.0-rockchip1_20190809_arm64.deb拷贝到rk3399 debian系统中,然后双击安装。此过程可自动替换老的安装包。