Dockerfile 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # 使用多阶段构建
  2. FROM debian:bullseye-slim AS builder
  3. # 设置工作目录
  4. WORKDIR /app
  5. # 安装必要的依赖
  6. RUN apt-get update && apt-get install -y \
  7. curl \
  8. && rm -rf /var/lib/apt/lists/*
  9. # 设置环境变量
  10. ENV NEXUS_HOME=/root/.nexus
  11. ENV BIN_DIR=/root/.nexus/bin
  12. # 创建必要的目录
  13. RUN mkdir -p ${NEXUS_HOME} ${BIN_DIR}
  14. # 下载并安装Nexus CLI
  15. RUN curl -s https://api.github.com/repos/nexus-xyz/nexus-cli/releases/latest | \
  16. grep "browser_download_url" | \
  17. grep "nexus-network-linux-x86_64\"" | \
  18. cut -d '"' -f 4 | \
  19. xargs -I {} curl -L -o ${BIN_DIR}/nexus-network {} && \
  20. chmod +x ${BIN_DIR}/nexus-network
  21. # 最终镜像
  22. FROM debian:bullseye-slim
  23. # 设置工作目录
  24. WORKDIR /app
  25. # 安装必要的依赖
  26. RUN apt-get update && apt-get install -y \
  27. curl \
  28. && rm -rf /var/lib/apt/lists/*
  29. # 设置环境变量
  30. ENV NEXUS_HOME=/root/.nexus
  31. ENV BIN_DIR=/root/.nexus/bin
  32. ENV PATH="${BIN_DIR}:${PATH}"
  33. # 从builder阶段复制二进制文件
  34. COPY --from=builder ${BIN_DIR}/nexus-network ${BIN_DIR}/nexus-network
  35. # 创建必要的目录
  36. RUN mkdir -p ${NEXUS_HOME}
  37. # 设置入口点
  38. ENTRYPOINT ["nexus-network"]
  39. # 默认命令
  40. CMD ["start"]