将 note 笔记库同步到 note_sync,AI_compiler 作为 submodule
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
#### 拉取镜像
|
||||
```bash
|
||||
docker pull arm64v8/ros:humble
|
||||
```
|
||||
|
||||
#### 启动脚本
|
||||
```code
|
||||
#!/bin/bash
|
||||
|
||||
# 允许 Docker 访问 X 服务器(用于 GUI)
|
||||
xhost +local:docker
|
||||
|
||||
# 容器名称
|
||||
CONTAINER_NAME="ylhan_ros2_humble"
|
||||
|
||||
# 检查容器是否存在
|
||||
if docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
|
||||
# 容器存在
|
||||
if docker ps --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
|
||||
# 容器正在运行,直接进入
|
||||
echo "容器 ${CONTAINER_NAME} 正在运行,进入容器..."
|
||||
docker exec -it ${CONTAINER_NAME} bash
|
||||
else
|
||||
# 容器已存在但未运行,启动并进入
|
||||
echo "容器 ${CONTAINER_NAME} 已存在但未运行,启动容器..."
|
||||
docker start -i ${CONTAINER_NAME}
|
||||
fi
|
||||
else
|
||||
# 容器不存在,创建并运行新容器
|
||||
echo "容器 ${CONTAINER_NAME} 不存在,创建新容器..."
|
||||
docker run -it --rm \
|
||||
--name ${CONTAINER_NAME} \
|
||||
--network host \
|
||||
--privileged \
|
||||
-e DISPLAY=$DISPLAY \
|
||||
-v /tmp/.X11-unix:/tmp/.X11-unix:rw \
|
||||
-v /home/ylhan/ros2_ws:/root/ros2_ws \
|
||||
-v /dev:/dev \
|
||||
arm64v8/ros:humble \
|
||||
bash
|
||||
fi
|
||||
|
||||
```
|
||||
|
||||
#### 环境设置
|
||||
宿主机
|
||||
```bash
|
||||
echo $DISPLAY
|
||||
```
|
||||
假设输出为nvidia:13.0,在docker内:
|
||||
```bash
|
||||
export DISPLAY=nvidia:13.0
|
||||
```
|
||||
复制宿主机home目录下.Xauthority文件到docker中home目录下,使用xeyes测试
|
||||
|
||||
ros2 docker隔离
|
||||
```bash
|
||||
export ROS_DOMAIN_ID=79 #设置独立的DOMAIN_ID
|
||||
```
|
||||
Reference in New Issue
Block a user