1. 安装
cpp
sudo apt-get -y install docker.io
测试:在终端输入
cpp
docker --version
如果有版本信息,表示docker安装成功。
2. 查看
查看已有镜像:
cpp
sudo docker images
查看所有容器:
cpp
sudo docker ps -a
3. 拉取镜像
- 对于nvida arm 架构处理器,使用jtop命令查看Jetpack版本,jtop安装过程如下:
cpp
安装pip3:sudo apt install python3-pip
安装jtop:sudo -H pip3 install -U jetson-stats
运行jtop服务:sudo systemctl restart jetson_stats.service
重启系统:reboot
- 通过在终端输入 jtop 指令查看Jetpack版本,如
cpp
Jetpack 5.1 [L4T 35.2.1]
- 使用如下命令拉取镜像
cpp
sudo docker run -it --net=host -v /home/amov/docker_file:/home/work --name swarm_mission nvcr.io/nvidia/l4t-base:r35.2.1
说明:
1 /home/amov/docker_file是处理器文件夹位置 ,/home/work是Docker镜像文件夹位置。此语法作用是文件夹共享,保证了在/home/amov/docker_file下增改代码,会同步到/home/work下。但是,制作镜像时和本地同步的Docker文件不会被刻录到镜像上。
2 swarm_mission是容器名字/your_container_name ,可以自定义。
参考网站:
https://developer.nvidia.com/embedded/learn/tutorials/jetson-container#h.643lq522tv1d
4. 运行
cpp
sudo docker start your_container_name (在终端只需要运行一次:第一次start容器或者stop容器之后再次start时,需要运行)
sudo docker exec -it your_container_name /bin/bash
5. 其他
文件夹拷贝:
cpp
docker cp /your_dir your_container_name:/docker_dir
注 your_dir是本地文件
关闭容器、删除容器
cpp
sudo docker stop your_container_name
sudo docker rm your_container_nam
6. 保存容器为镜像,导出加载
保存为文件
cpp
sudo docker commit your_container_name your_image_name:v1
注:your_image_name(自定义)表示基于nvcr.io/nvidia/l4t-base:r35.2.1镜像,配置得到的新镜像的名字,v1表示TAG
导出、加载
cpp
docker save -o your_file_name.tar your_image_name:v1
docker load -i your_file_name.tar
删除镜像
cpp
docker rmi <image_name_or_id>
7. ROS安装
Docker容器没有sudo 指令
cpp
1 安装sudo: apt-get install sudo
2 鱼香ROS一键安装: wget http://fishros.com/install -O fishros && . fishros