Simplify: Remove cargo-watch from Docker dev build
cargo-watch dependencies require Rust 1.85+ and edition2024. For development, we can simply use 'cargo run' which works fine. The server can be restarted with docker compose restart.
This commit is contained in:
parent
ea6f29238c
commit
5e20e802f3
2 changed files with 11 additions and 29 deletions
|
|
@ -1,11 +1,9 @@
|
||||||
FROM rust:1.83-alpine
|
FROM rust:1.83-alpine
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
RUN apk add --no-cache musl-dev pkgconf openssl-dev curl wget git pkgconfig
|
RUN apk add --no-cache musl-dev pkgconf openssl-dev curl wget git pkgconfig
|
||||||
# Pin cargo-watch to version 8.4.0 which doesn't require edition2024
|
|
||||||
RUN cargo install cargo-watch --version 8.4.0
|
|
||||||
COPY Cargo.toml ./
|
COPY Cargo.toml ./
|
||||||
RUN mkdir src && echo 'fn main() {}' > src/main.rs
|
RUN mkdir src && echo 'fn main() {}' > src/main.rs
|
||||||
RUN cargo build && rm -rf src
|
RUN cargo build && rm -rf src
|
||||||
COPY src ./src
|
COPY src ./src
|
||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
CMD ["cargo-watch", "-x", "run"]
|
CMD ["cargo", "run"]
|
||||||
|
|
|
||||||
36
thoughts/test-docker-build.sh
Normal file → Executable file
36
thoughts/test-docker-build.sh
Normal file → Executable file
|
|
@ -1,41 +1,25 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo "🧪 Testing Docker build with cargo-watch 8.4.0..."
|
echo "🔧 Cleaning up old containers..."
|
||||||
echo ""
|
|
||||||
|
|
||||||
cd backend
|
cd backend
|
||||||
|
|
||||||
echo "📋 Step 1: Clean up old containers and images..."
|
|
||||||
docker compose -f docker-compose.dev.yml down 2>/dev/null || true
|
docker compose -f docker-compose.dev.yml down 2>/dev/null || true
|
||||||
docker rmi normogen-backend-dev 2>/dev/null || true
|
|
||||||
echo "✓ Cleanup complete"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "📋 Step 2: Building Docker image (this will take a few minutes)..."
|
echo "🗑️ Removing old image..."
|
||||||
|
docker rmi normogen-backend-dev 2>/dev/null || true
|
||||||
|
|
||||||
|
echo "🏗️ Building Docker image (this may take a few minutes)..."
|
||||||
docker compose -f docker-compose.dev.yml build --no-cache
|
docker compose -f docker-compose.dev.yml build --no-cache
|
||||||
|
|
||||||
echo ""
|
echo "🚀 Starting services..."
|
||||||
echo "✓ Build complete!"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "📋 Step 3: Starting services..."
|
|
||||||
docker compose -f docker-compose.dev.yml up -d
|
docker compose -f docker-compose.dev.yml up -d
|
||||||
|
|
||||||
echo ""
|
echo "⏳ Waiting for server to be ready..."
|
||||||
echo "📋 Step 4: Waiting for services to be ready..."
|
|
||||||
sleep 5
|
sleep 5
|
||||||
|
|
||||||
echo ""
|
echo "📊 Container status:"
|
||||||
echo "📋 Step 5: Checking service status..."
|
|
||||||
docker compose -f docker-compose.dev.yml ps
|
docker compose -f docker-compose.dev.yml ps
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "📋 Step 6: Showing backend logs..."
|
echo "📋 Server logs (ctrl+c to exit):"
|
||||||
docker compose -f docker-compose.dev.yml logs --tail=20 backend
|
docker compose -f docker-compose.dev.yml logs -f backend
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "✅ Done! Server should be running on http://localhost:6800"
|
|
||||||
echo ""
|
|
||||||
echo "To view logs: docker compose -f docker-compose.dev.yml logs -f backend"
|
|
||||||
echo "To stop: docker compose -f docker-compose.dev.yml down"
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue