Dockerfile 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. FROM ubuntu:24.04
  2. WORKDIR /app
  3. RUN apt-get update && apt-get install -y \
  4. curl \
  5. && rm -rf /var/lib/apt/lists/*
  6. # 检测系统架构并下载对应的二进制文件
  7. RUN ARCH=$(uname -m) && \
  8. if [ "$ARCH" = "x86_64" ]; then \
  9. if [ "$(uname -s)" = "Darwin" ]; then \
  10. BINARY_NAME="nexus-network-macos-x86_64"; \
  11. else \
  12. BINARY_NAME="nexus-network-linux-x86_64"; \
  13. fi; \
  14. elif [ "$ARCH" = "aarch64" ] || [ "$ARCH" = "arm64" ]; then \
  15. if [ "$(uname -s)" = "Darwin" ]; then \
  16. BINARY_NAME="nexus-network-macos-arm64"; \
  17. else \
  18. BINARY_NAME="nexus-network-linux-arm64"; \
  19. fi; \
  20. else \
  21. echo "Unsupported architecture: $ARCH" && exit 1; \
  22. fi && \
  23. echo "Downloading $BINARY_NAME for architecture $ARCH" && \
  24. curl -s https://api.github.com/repos/nexus-xyz/nexus-cli/releases/latest | \
  25. grep "browser_download_url" | \
  26. grep "$BINARY_NAME\"" | \
  27. cut -d '"' -f 4 | \
  28. xargs -I {} curl -L -o nexus-network {} && \
  29. chmod +x nexus-network
  30. COPY entrypoint.sh entrypoint.sh
  31. RUN chmod +x entrypoint.sh
  32. ENTRYPOINT ["./entrypoint.sh"]