一 . 实施背景
因项目中可能使用的opencv版本比较高,(ubuntu18.04中ros自带opencv版本低(3.0),直接使用opencv编译比较麻烦(时间消耗太长))主要是依赖ros环境,所以直接使用docker安装ubuntu20.04的系统环境,这样可以使用较高版本的ros-opencv,20.04中opencv版本为4.0,所以搭建如此环境:其中驱动以及cuda cudnn tensorrt都是自己安装(和linux_x86基本一致)
二 . docker 镜像设置 “用于加速下拉镜像”
“主机中输入以打开docker镜像配置修改”
vim /etc/docker/daemon.json
or
gedit /etc/docker/daemon.json
{
"registry-mirrors": ["https://epsax6ut.mirror.aliyuncs.com"],
}
{
"registry-mirrors": ["https://f6tophti.mirror.aliyuncs.com"]
}
三 . docker相关命令
“root下直接使用docker //用户名下需要在docker 命令前加上sudo”
-
docker images //查看镜像
-
docker ps -a//查看容器
-
docker run imageid /bin/bash //启动镜像—也就成为了容器
-
docker run ubuntu:20.04 /bin/bash
-
docker exec ps-a_id -it /bin/bash //进入容器内部
// 如果进不去需要将dokcer ps -a中的id start:
docker id start
docker exec a2b27ed2af2a -it /bin/bash
//运行此命令就算进来我们的容器了 -
docker run --gpu all ubuntu:20.04 /bin/bash
//映射我们宿主机的驱动扫描二维码关注公众号,回复: 14663800 查看本文章 -
nvidia-smi or watch -n 1 nvidia-smi (静态查看gpu占用/动态查看gpu占用)
//映射后查看gpu占用率的命令 -
docker 删除容器
docker rmi -f id //删除你创建的镜像
docker rm -f //删除你启动的容器// -
sudo docker commit -m “install conda” -a “lq” a2b27ed2af2a ubuntu20.04andaconda
//提交一次备份(在你自己的本地备份一个环境,以免没有备份时,基础环境被自己破坏) -
sudo docker cp ./cudnn-linux-x86_64-8.4.1.50_cuda10.2-archive.tar.xz a2b27ed2af2a:/home/yd/work //外部复制进来东西
四 . 上传镜像
“用户可以通过 docker push 命令,把自己创建的镜像上传到仓库中来共享。例如,用户在 Docker Hub 上完成注册后,可以推送自己的镜像到仓库中,远程仓库可设置权限,可以设置与其他用户共享。”
1 . sudo docker images //查看镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu20.04_best latest affaa49f362e 7 weeks ago 18.8GB
//将本地制作镜像上传至云端阿里云 (自己创建账号)
2 . sudo docker restart
//镜像打包 == tag ubuntu20.04_best:latest
3 . sudo docker tag ubuntu20.04_best:latest registry.cn-beijing.aliyuncs.com/ubuntu_20-04/ubuntu20.04_best:1.0
4 . Sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu20.04_best latest affaa49f362e 7 weeks ago 18.8GB
registry.cn-beijing.aliyuncs.com/ubuntu_20-04/ubuntu20.04_best 1.0 affaa49f362e 7 weeks ago 18.8GB
5 . sudo docker push registry.cn-beijing.aliyuncs.com/ubuntu_20-04/ubuntu20.04_best:1.0
五 . 镜像别作那么 大大大大
注意:由于我自己做的镜像18.8GB ,可能是太大了的原因,我真的酸Q 上传了个寂寞。。。。。。