fix(deploy): pin distinct image tags per compose (booklib/{api,web}:{dev,prod}); same project name shared default tags so dev up without --build ran the prod image

This commit is contained in:
2026-09-07 21:24:33 +08:00
parent 95317a0108
commit 961de429f9
45 changed files with 7 additions and 3 deletions
+4 -2
View File
@@ -16,6 +16,7 @@ services:
- ./redis/redis.conf:/usr/local/etc/redis/redis.conf:ro - ./redis/redis.conf:/usr/local/etc/redis/redis.conf:ro
- redis_data:/data - redis_data:/data
api: api:
image: booklib/api:dev
build: { context: .., dockerfile: backend/Dockerfile.dev, target: dev } build: { context: .., dockerfile: backend/Dockerfile.dev, target: dev }
command: sh -c "go mod download && dlv debug ./cmd/server --headless --listen=0.0.0.0:2345 --api-version=2 --accept-multiclient --continue --log" command: sh -c "go mod download && dlv debug ./cmd/server --headless --listen=0.0.0.0:2345 --api-version=2 --accept-multiclient --continue --log"
environment: environment:
@@ -35,11 +36,12 @@ services:
postgres: { condition: service_healthy } postgres: { condition: service_healthy }
redis: { condition: service_started } redis: { condition: service_started }
web: web:
build: { context: .., dockerfile: web/Dockerfile.dev, target: dev } image: booklib/web:dev
build: { context: .., dockerfile: frontend/Dockerfile.dev, target: dev }
command: npm run dev -- --host 0.0.0.0 command: npm run dev -- --host 0.0.0.0
environment: { VITE_PROXY_TARGET: http://api:8080 } environment: { VITE_PROXY_TARGET: http://api:8080 }
volumes: volumes:
- ../web:/app - ../frontend:/app
- /app/node_modules - /app/node_modules
ports: ["5173:5173"] ports: ["5173:5173"]
depends_on: [api] depends_on: [api]
+3 -1
View File
@@ -2,7 +2,8 @@
name: booklib name: booklib
services: services:
web: web:
build: { context: .., dockerfile: web/Dockerfile.prod, target: runner } image: booklib/web:prod
build: { context: .., dockerfile: frontend/Dockerfile.prod, target: runner }
ports: ["${WEB_PORT:-8080}:80"] ports: ["${WEB_PORT:-8080}:80"]
volumes: volumes:
- ./nginx/nginx.conf:/etc/booklib/nginx.conf:ro - ./nginx/nginx.conf:/etc/booklib/nginx.conf:ro
@@ -10,6 +11,7 @@ services:
- ./logs/nginx:/var/log/nginx - ./logs/nginx:/var/log/nginx
depends_on: [api] depends_on: [api]
api: api:
image: booklib/api:prod
build: { context: .., dockerfile: backend/Dockerfile.prod, target: runner } build: { context: .., dockerfile: backend/Dockerfile.prod, target: runner }
environment: environment:
DATABASE_URL: postgres://lib:lib@postgres:5432/lib?sslmode=disable DATABASE_URL: postgres://lib:lib@postgres:5432/lib?sslmode=disable

Before

Width:  |  Height:  |  Size: 269 B

After

Width:  |  Height:  |  Size: 269 B