buildkit-daemon.sh 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #!/bin/bash
  2. # BuildKit daemon management script for macOS development
  3. case "$1" in
  4. start)
  5. echo "Starting BuildKit daemon..."
  6. docker stop buildkitd 2>/dev/null || true
  7. docker rm buildkitd 2>/dev/null || true
  8. # Create buildkit config if it doesn't exist
  9. if [ ! -f buildkitd.toml ]; then
  10. cat > buildkitd.toml << EOF
  11. # BuildKit configuration for insecure registries
  12. [registry."host.docker.internal:5000"]
  13. http = true
  14. insecure = true
  15. [registry."localhost:5000"]
  16. http = true
  17. insecure = true
  18. EOF
  19. fi
  20. docker run -d -p 1234:1234 --name buildkitd \
  21. --add-host host.docker.internal:host-gateway \
  22. -v "$(pwd)/buildkitd.toml:/etc/buildkit/buildkitd.toml:ro" \
  23. --privileged moby/buildkit:latest \
  24. --allow-insecure-entitlement="security.insecure" \
  25. --allow-insecure-entitlement="network.host" \
  26. --addr tcp://0.0.0.0:1234 \
  27. --config /etc/buildkit/buildkitd.toml
  28. echo "BuildKit daemon started on tcp://127.0.0.1:1234 with insecure registry support"
  29. ;;
  30. stop)
  31. echo "Stopping BuildKit daemon..."
  32. docker stop buildkitd
  33. docker rm buildkitd
  34. echo "BuildKit daemon stopped"
  35. ;;
  36. status)
  37. echo "BuildKit daemon status:"
  38. docker ps -a | grep buildkitd || echo "BuildKit daemon is not running"
  39. ;;
  40. logs)
  41. echo "BuildKit daemon logs:"
  42. docker logs buildkitd
  43. ;;
  44. restart)
  45. $0 stop
  46. sleep 2
  47. $0 start
  48. ;;
  49. *)
  50. echo "Usage: $0 {start|stop|status|logs|restart}"
  51. echo ""
  52. echo "Commands:"
  53. echo " start - Start BuildKit daemon container"
  54. echo " stop - Stop and remove BuildKit daemon container"
  55. echo " status - Show BuildKit daemon status"
  56. echo " logs - Show BuildKit daemon logs"
  57. echo " restart - Restart BuildKit daemon"
  58. exit 1
  59. ;;
  60. esac