55 lines
1.5 KiB
Bash
55 lines
1.5 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
|
|||
|
|
# Docker容器运行脚本
|
|||
|
|
|
|||
|
|
IMAGE_NAME="multi-camera-monitor"
|
|||
|
|
IMAGE_TAG="latest"
|
|||
|
|
CONTAINER_NAME="multi-camera-app"
|
|||
|
|
PORT="5002"
|
|||
|
|
|
|||
|
|
echo "🚀 启动多摄像头监控系统Docker容器..."
|
|||
|
|
|
|||
|
|
# 检查Docker是否安装
|
|||
|
|
if ! command -v docker &> /dev/null; then
|
|||
|
|
echo "❌ 错误: 未找到Docker,请先安装Docker"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 检查镜像是否存在
|
|||
|
|
if ! docker images | grep -q "${IMAGE_NAME}"; then
|
|||
|
|
echo "⚠️ 镜像不存在,请先运行 ./docker-build.sh 构建镜像"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 停止并删除已存在的容器
|
|||
|
|
if docker ps -a | grep -q "${CONTAINER_NAME}"; then
|
|||
|
|
echo "🛑 停止并删除现有容器..."
|
|||
|
|
docker stop ${CONTAINER_NAME} >/dev/null 2>&1
|
|||
|
|
docker rm ${CONTAINER_NAME} >/dev/null 2>&1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 运行容器
|
|||
|
|
echo "🎬 启动容器: ${CONTAINER_NAME}"
|
|||
|
|
docker run -d \
|
|||
|
|
--name ${CONTAINER_NAME} \
|
|||
|
|
-p ${PORT}:5002 \
|
|||
|
|
--restart unless-stopped \
|
|||
|
|
${IMAGE_NAME}:${IMAGE_TAG}
|
|||
|
|
|
|||
|
|
if [ $? -eq 0 ]; then
|
|||
|
|
echo "✅ 容器启动成功!"
|
|||
|
|
echo ""
|
|||
|
|
echo "📊 容器状态:"
|
|||
|
|
docker ps | grep ${CONTAINER_NAME}
|
|||
|
|
echo ""
|
|||
|
|
echo "🌐 访问地址: http://localhost:${PORT}"
|
|||
|
|
echo ""
|
|||
|
|
echo "📋 常用命令:"
|
|||
|
|
echo " 查看日志: docker logs -f ${CONTAINER_NAME}"
|
|||
|
|
echo " 停止容器: docker stop ${CONTAINER_NAME}"
|
|||
|
|
echo " 重启容器: docker restart ${CONTAINER_NAME}"
|
|||
|
|
echo " 进入容器: docker exec -it ${CONTAINER_NAME} bash"
|
|||
|
|
else
|
|||
|
|
echo "❌ 容器启动失败!"
|
|||
|
|
exit 1
|
|||
|
|
fi
|