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
含义:
允许容器访问本地的 X11 服务器。
启动一个 Docker 容器,分配所有 GPU 资源。
挂载本地的 ROS 工作空间、X11 套接字和
.Xauthority
文件。传递必要的环境变量,包括
DISPLAY
和NVIDIA_DRIVER_CAPABILITIES
。挂载 USB 设备和目录,以便容器可以直接访问 USB 设备。
共享主机的网络栈。
设置共享内存大小为 1GB。
使用
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
),可以直接下载这些文件:
-
打开项目的 GitHub 页面,找到 Releases 标签。
-
找到你需要的版本,点击下载对应的镜像文件 worktile
5.3. 使用 Dockerfile 构建镜像
如果项目提供了 Dockerfile
,你可以在本地构建镜像:
bash
复制
git clone https://github.com/username/repo.git
cd repo
docker build -t my-image:latest .
这会从 Dockerfile
构建一个新的镜像
未完待续.......