|
|
@@ -0,0 +1,53 @@
|
|
|
+# 使用多阶段构建
|
|
|
+FROM debian:bullseye-slim AS builder
|
|
|
+
|
|
|
+# 设置工作目录
|
|
|
+WORKDIR /app
|
|
|
+
|
|
|
+# 安装必要的依赖
|
|
|
+RUN apt-get update && apt-get install -y \
|
|
|
+ curl \
|
|
|
+ && rm -rf /var/lib/apt/lists/*
|
|
|
+
|
|
|
+# 设置环境变量
|
|
|
+ENV NEXUS_HOME=/root/.nexus
|
|
|
+ENV BIN_DIR=/root/.nexus/bin
|
|
|
+
|
|
|
+# 创建必要的目录
|
|
|
+RUN mkdir -p ${NEXUS_HOME} ${BIN_DIR}
|
|
|
+
|
|
|
+# 下载并安装Nexus CLI
|
|
|
+RUN curl -s https://api.github.com/repos/nexus-xyz/nexus-cli/releases/latest | \
|
|
|
+ grep "browser_download_url" | \
|
|
|
+ grep "nexus-network-linux-x86_64\"" | \
|
|
|
+ cut -d '"' -f 4 | \
|
|
|
+ xargs -I {} curl -L -o ${BIN_DIR}/nexus-network {} && \
|
|
|
+ chmod +x ${BIN_DIR}/nexus-network
|
|
|
+
|
|
|
+# 最终镜像
|
|
|
+FROM debian:bullseye-slim
|
|
|
+
|
|
|
+# 设置工作目录
|
|
|
+WORKDIR /app
|
|
|
+
|
|
|
+# 安装必要的依赖
|
|
|
+RUN apt-get update && apt-get install -y \
|
|
|
+ curl \
|
|
|
+ && rm -rf /var/lib/apt/lists/*
|
|
|
+
|
|
|
+# 设置环境变量
|
|
|
+ENV NEXUS_HOME=/root/.nexus
|
|
|
+ENV BIN_DIR=/root/.nexus/bin
|
|
|
+ENV PATH="${BIN_DIR}:${PATH}"
|
|
|
+
|
|
|
+# 从builder阶段复制二进制文件
|
|
|
+COPY --from=builder ${BIN_DIR}/nexus-network ${BIN_DIR}/nexus-network
|
|
|
+
|
|
|
+# 创建必要的目录
|
|
|
+RUN mkdir -p ${NEXUS_HOME}
|
|
|
+
|
|
|
+# 设置入口点
|
|
|
+ENTRYPOINT ["nexus-network"]
|
|
|
+
|
|
|
+# 默认命令
|
|
|
+CMD ["start"]
|