mkdir DeepTrace_Project
cd DeepTrace_Projectgit clone --single-branch --branch main https://github.com/DeepShield-AI/DeepTrace-server.gitgit clone --single-branch --branch main https://github.com/DeepShield-AI/DeepTrace-server.git# 构建阶段
FROM registry.cn-hangzhou.aliyuncs.com/acs/maven:latest AS builder
COPY settings.xml /root/.m2/settings.xml
WORKDIR /app
COPY pom.xml .
RUN mvn -B dependency:go-offline
COPY src ./src
RUN mvn -B package -DskipTests
# 运行阶段
FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:17-8.6
WORKDIR /app
COPY --from=builder /app/target/*.jar deepserver.jar
CMD ["java", "-jar", "app.jar"]注意:如果项目没有 settings.xml,可以删除 COPY settings.xml ... 这一行。
# 排除不需要打包进镜像的文件,减小构建上下文大小,加快构建速度
target/
.idea/
*.iml
.git/
.gitignore
README.md# 1.在根目录下创建 docker-compose.yml 文件,内容如下:
version: '3.8'
services:
app:
# 如果你想在服务器上直接构建,使用 build
build: .
# 如果镜像已经存在于服务器(或镜像仓库),使用 image
# image: deep-server:latest
container_name: deep-server
ports:
- "80:8080" # 将服务器的80端口映射到容器的8080端口
restart: unless-stopped # 容器异常退出时自动重启scp -r DeepTrace_Project root@114.215.254.187:~/wzh/DeepTrace/ssh root@114.215.254.187
cd ~/wzh/DeepTrace/DeepTrace_Project
# 执行 `docker-compose` 命令:
# (-d 表示后台运行,--build:每次启动前都会重新构建镜像,适合开发阶段)
docker-compose up -d --build# 查看正在运行的容器
docker ps
# 查看容器日志(实时查看)
docker logs -f deep-server
# (若启用 docker-compose)
docker-compose logs -f
# 停止并删除容器
docker stop deep-server
docker rm deep-server
#(若启用 docker-compose,在项目目录下执行)
docker-compose down