优化镜像打包
This commit is contained in:
parent
f0a77423a8
commit
1fc6e704f0
@ -3,6 +3,7 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: docker/api.Dockerfile
|
dockerfile: docker/api.Dockerfile
|
||||||
|
image: api:0.1.0
|
||||||
container_name: api-dev
|
container_name: api-dev
|
||||||
working_dir: /app
|
working_dir: /app
|
||||||
volumes:
|
volumes:
|
||||||
@ -30,6 +31,7 @@ services:
|
|||||||
context: .
|
context: .
|
||||||
dockerfile: docker/web.Dockerfile
|
dockerfile: docker/web.Dockerfile
|
||||||
target: development
|
target: development
|
||||||
|
image: web:0.1.0
|
||||||
container_name: web-dev
|
container_name: web-dev
|
||||||
volumes:
|
volumes:
|
||||||
- ./web:/app
|
- ./web:/app
|
||||||
|
|||||||
39
docker/save_docker_images.sh
Normal file
39
docker/save_docker_images.sh
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 创建输出目录
|
||||||
|
OUTPUT_DIR="docker_images_backup"
|
||||||
|
mkdir -p $OUTPUT_DIR
|
||||||
|
|
||||||
|
# 定义输出文件名
|
||||||
|
OUTPUT_FILE="$OUTPUT_DIR/docker_images_$(date +%Y%m%d).tar"
|
||||||
|
|
||||||
|
echo "开始导出 Docker 镜像到 $OUTPUT_FILE..."
|
||||||
|
|
||||||
|
# 从各个文件中提取的基础镜像列表
|
||||||
|
IMAGES=(
|
||||||
|
"python:3.12"
|
||||||
|
"ghcr.io/astral-sh/uv:0.7.2"
|
||||||
|
"node:latest"
|
||||||
|
"nginx:alpine"
|
||||||
|
"neo4j:5.26"
|
||||||
|
"quay.io/coreos/etcd:v3.5.5"
|
||||||
|
"minio/minio:RELEASE.2023-03-20T20-16-18Z"
|
||||||
|
"milvusdb/milvus:v2.5.6"
|
||||||
|
)
|
||||||
|
|
||||||
|
# 确保所有镜像都已下载
|
||||||
|
for IMAGE in "${IMAGES[@]}"; do
|
||||||
|
echo "正在拉取镜像: $IMAGE"
|
||||||
|
docker pull $IMAGE
|
||||||
|
done
|
||||||
|
|
||||||
|
# 保存所有镜像到单个 tar 文件
|
||||||
|
echo "正在保存镜像到 tar 文件..."
|
||||||
|
docker save ${IMAGES[@]} -o $OUTPUT_FILE
|
||||||
|
|
||||||
|
# 计算文件大小
|
||||||
|
FILE_SIZE=$(du -h $OUTPUT_FILE | cut -f1)
|
||||||
|
|
||||||
|
echo "完成!"
|
||||||
|
echo "所有 Docker 镜像已保存到: $OUTPUT_FILE"
|
||||||
|
echo "文件大小: $FILE_SIZE"
|
||||||
@ -1,22 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Function to stop the services
|
|
||||||
stop_services() {
|
|
||||||
echo "Stopping services..."
|
|
||||||
pkill -f "npm run server"
|
|
||||||
pkill -f "uvicorn src.main:app --host 0.0.0.0 --port 5000 --reload"
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
# Trap signals to stop services
|
|
||||||
trap stop_services SIGINT SIGTERM
|
|
||||||
|
|
||||||
# Start the server
|
|
||||||
uvicorn src.main:app --host 0.0.0.0 --port 5000 --reload &
|
|
||||||
|
|
||||||
# Start the frontend service
|
|
||||||
cd web
|
|
||||||
npm run server &
|
|
||||||
|
|
||||||
# Wait for all background jobs to finish
|
|
||||||
wait
|
|
||||||
@ -1,10 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# 检查是否提供了命令行参数
|
|
||||||
if [ $# -eq 0 ]; then
|
|
||||||
echo "请提供命令参数,例如:up -d 或 down"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 将所有命令行参数传递给 docker compose 命令
|
|
||||||
docker compose -f docker/docker-compose.dev.yml --env-file src/.env "$@"
|
|
||||||
Loading…
Reference in New Issue
Block a user