|
@@ -0,0 +1,55 @@
|
|
|
|
+#!/bin/bash
|
|
|
|
+# 检查到未定义的变量则停止执行并报错
|
|
|
|
+set -u
|
|
|
|
+
|
|
|
|
+# 检查参数数量
|
|
|
|
+if [ "$#" -ne 2 ]; then
|
|
|
|
+ echo "Error: Incorrect number of arguments"
|
|
|
|
+ echo "Usage: $0 IMAGE_NAME CONTAINER_NAME"
|
|
|
|
+ exit 1
|
|
|
|
+fi
|
|
|
|
+
|
|
|
|
+IMAGE_NAME=$1
|
|
|
|
+CONTAINER_NAME=$2
|
|
|
|
+
|
|
|
|
+# 检查容器是否存在
|
|
|
|
+container_id=$(docker ps -aqf name=^${CONTAINER_NAME}$)
|
|
|
|
+if [ -n "$container_id" ]; then
|
|
|
|
+ echo "Container $CONTAINER_NAME already exists,removing..."
|
|
|
|
+ docker rm -f "$container_id"
|
|
|
|
+ echo "Container removed"
|
|
|
|
+fi
|
|
|
|
+
|
|
|
|
+# 开启容器
|
|
|
|
+echo "Start container..."
|
|
|
|
+## 创建容器
|
|
|
|
+docker run -itd --name "$CONTAINER_NAME" --net=host -v /home/cicv/work/pji_desktop/simulation/data/pjirobot/data:/root/pjirobot "$IMAGE_NAME" /bin/bash
|
|
|
|
+## 检查容器是否已启动
|
|
|
|
+container_id=$(docker ps -aqf name=^${CONTAINER_NAME}$)
|
|
|
|
+if [ -n "$container_id" ]; then
|
|
|
|
+ echo "Container $CONTAINER_NAME started"
|
|
|
|
+fi
|
|
|
|
+
|
|
|
|
+# 容器依赖服务配置
|
|
|
|
+## 默认起点配置
|
|
|
|
+
|
|
|
|
+## 启动仿真环境
|
|
|
|
+### 选择场景文件
|
|
|
|
+### 选择地图
|
|
|
|
+### 启动仿真
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+## 容器初始配置
|
|
|
|
+## 容器内路径参数
|
|
|
|
+#MAP_SERVICE_PATH="/home/load_map_service"
|
|
|
|
+#PJI_NAV_PATH="/home/pji_nav"
|
|
|
|
+#PJI_ENGINE_PATH="/home/pji_engine"
|
|
|
|
+## 启动加载地图服务
|
|
|
|
+#command="cd $MAP_SERVICE_PATH && source devel/setup.bash && rosrun load_map load_map"
|
|
|
|
+#docker exec "$CONTAINER_NAME" /bin/bash -c "$command"
|
|
|
|
+## 启动导航节点
|
|
|
|
+#command="cd $PJI_NAV_PATH && source install/setup.bash && roslaunch pji_navigation navigation.launch"
|
|
|
|
+#docker exec "$CONTAINER_NAME" /bin/bash -c "$command"
|
|
|
|
+## 启动engine节点
|
|
|
|
+#command="cd $PJI_ENGINE_PATH && source install/setup.bash && roslaunch pji_launch pji_engine.launch"
|
|
|
|
+#docker exec "$CONTAINER_NAME" /bin/bash -c "$command"
|