12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #!/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"
|