当前位置: 首页 > news >正文

docker的学习

目录

准备工作

1.安装与运行镜像

 2.使用镜像

3.更新镜像

4.保存镜像移植使用

5.从github下载docker镜像

5.1. 直接从 GitHub 容器注册表下载

5.2. 使用 GitHub Releases 下载镜像文件

5.3. 使用 Dockerfile 构建镜像


准备工作

 安装容器前,需要确保你有足够的空间 

如果是边缘计算设备安装了额外的ssd硬盘,那么需要按扎ung到挂载路径

# 修改配置文件路径
sudo vi /etc/docker/daemon.json  
# 或者
sudo cat /etc/docker/daemon.json
按i编辑 esc退出变异  :wq 保存退出
{"default-runtime": "nvidia","runtimes": {"nvidia": {"args": [],"path": "nvidia-container-runtime"}},"data-root": "/mnt/你的ssd名称/docker"
}

 

1.安装与运行镜像

# 安装镜像
docker load -i isaac_ros_dev-aarch64.tar 
# 查看镜像
docker images
# 运行镜像
docker run -it --rm isaac_ros_dev-aarch64 /bin/bash
# ​带GPU支持运行​​
docker run -it --rm --gpus all isaac_ros_dev-aarch64
# ​后台运行​​
docker run -d --name my_container isaac_ros_dev-aarch64

如果需要usb的挂载,在指定映射的本地路径

xhost +local:docker
docker run -it --rm --gpus all \-v /home/czc/isaac_ros_ws/:/workspace \-v /tmp/.X11-unix:/tmp/.X11-unix \-v $HOME/.Xauthority:/root/.Xauthority:ro \-e DISPLAY=$DISPLAY \-e NVIDIA_DRIVER_CAPABILITIES=all \--env="USB_MAX_BUFFER_SIZE=16384" \--device=/dev/bus/usb \-v /dev/bus/usb:/dev/bus/usb \--net=host \--shm-size=1g \isaac_ros_dev-aarch64

含义: 

  1. 允许容器访问本地的 X11 服务器。

  2. 启动一个 Docker 容器,分配所有 GPU 资源。

  3. 挂载本地的 ROS 工作空间、X11 套接字和 .Xauthority 文件。

  4. 传递必要的环境变量,包括 DISPLAYNVIDIA_DRIVER_CAPABILITIES

  5. 挂载 USB 设备和目录,以便容器可以直接访问 USB 设备。

  6. 共享主机的网络栈。

  7. 设置共享内存大小为 1GB。

  8. 使用 isaac_ros_dev-aarch64 镜像启动容器。

 2.使用镜像

cd /workspace
# cd 你的代码工作路径
# 新开窗口进入当前容器
docker exec -it 此处按tab建 + bash

如果容器镜像中已经包含了编译好的代码(例如,镜像中安装了预编译的二进制文件或库),那么你通常不需要再次编译代码。你可以直接运行容器中的应用程序。

3.更新镜像

如果你在 Docker 容器中下载并安装了新的包,并希望将这些修改保存下来以便在其他地方使用

docker commit my-container my-new-image:latest# my-container 是你运行中的容器的名称或 ID。
# my-new-image:latest 是你提交后的新镜像的名称和标签

4.保存镜像移植使用

docker save isaac_ros_dev-aarch64:latest > /mnt/ours/isaac_ros_dev-aarch64.tar

5.从github下载docker镜像

5.1. 直接从 GitHub 容器注册表下载

GitHub 提供了容器注册表(GitHub Container Registry),你可以直接从中拉取镜像。以下是一个示例命令:

bash

复制

docker pull ghcr.io/username/repo:tag
  • ghcr.io 是 GitHub 容器注册表的地址。

  • username 是你的 GitHub 用户名或组织名称。

  • repo 是你的仓库名称。

  • tag 是镜像的标签(如 latest

5.2. 使用 GitHub Releases 下载镜像文件

如果你的项目在 GitHub 的 Releases 中提供了镜像文件(如 .tar.zip),可以直接下载这些文件:

  1. 打开项目的 GitHub 页面,找到 Releases 标签。

  2. 找到你需要的版本,点击下载对应的镜像文件 worktile

5.3. 使用 Dockerfile 构建镜像

如果项目提供了 Dockerfile,你可以在本地构建镜像:

bash

复制

git clone https://github.com/username/repo.git
cd repo
docker build -t my-image:latest .

这会从 Dockerfile 构建一个新的镜像

 

未完待续.......

http://www.dtcms.com/a/273863.html

相关文章:

  • React中Redux基础和路由介绍
  • 将手工建模模型(fbx、obj)转换为3dtiles的免费工具!
  • threejs案例开发-中国3D国旗动画
  • PostgreSQL 查询库中所有表占用磁盘大小、表大小
  • [Meetily后端框架] 多模型-Pydantic AI 代理-统一抽象 | SQLite管理
  • 共享储能电站在工业用户经济调度中的matlab仿真
  • 需求升级,创新破局!苏州金龙赋能旅游客运新生态
  • Go中使用wire进行统一依赖注入管理
  • 【JavaScript高级】构造函数、原型链与数据处理
  • 3 OneNET-调试器模拟上报数据
  • 深入理解Spring声明式事务的同步管理机制
  • C++ 面向对象 - 对象定义方法汇总
  • MySQL:分析表锁的常见问题
  • Flowable 使用遇到问题
  • Redis Sentinel哨兵集群
  • 碳中和目标下的全球产业链重构:深度解析与未来路径
  • Maui劝退:用windows直接真机调试iOS,无须和Mac配对
  • 单片机显示Unicode字符介绍
  • PDXP、UDP与HDLC协议技术解析:架构、应用与对比研究
  • SpringBoot 拦截器和过滤器的区别
  • 如何高效验证代理IP的可用性与稳定性
  • 瀚高数据库提交数据后,是否需要COMMIT(APP)
  • oracle
  • 从代码学习深度学习 - 针对序列级和词元级应用微调BERT PyTorch版
  • 线程池拒绝策略执行之后的补偿案例
  • Express + @vladmandic/face-api + mySql 实现人脸识别
  • Oracle 数据库 Dblink
  • 【项目经理】实施项目技术问题
  • 5G标准学习笔记14 - CSI--RS概述
  • Telnet远程连接实验(Cisco)