Dockerfile 1.2 KB

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