阅读量:2
以下是Java在Debian上的容器化部署实践步骤:
一、安装Docker
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
二、编写Dockerfile
# 基础镜像(推荐使用官方轻量级镜像)
FROM openjdk:17-jdk-slim
# 设置工作目录
WORKDIR /app
# 复制JAR文件到容器
COPY target/*.jar /app/app.jar
# 暴露端口
EXPOSE 8080
# 启动命令
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
三、构建与运行容器
- 构建镜像:在Dockerfile所在目录执行
docker build -t java-app:1.0 . - 运行容器:
docker run -d -p 8080:8080 --name java-app java-app:1.0
四、进阶实践
-
多阶段构建(优化镜像体积)
# 编译阶段 FROM maven:3.8.6-jdk-11 AS build COPY src /app/src COPY pom.xml /app RUN mvn clean package -DskipTests # 运行阶段 FROM openjdk:11-jre-slim COPY --from=build /app/target/*.jar /app/app.jar EXPOSE 8080 ENTRYPOINT ["java", "-jar", "/app/app.jar"] -
环境变量配置
ENV SPRING_PROFILES_ACTIVE=prod ENTRYPOINT ["java", "-Dspring.profiles.active=${SPRING_PROFILES_ACTIVE}", "-jar", "/app/app.jar"] -
健康检查
HEALTHCHECK CMD curl --fail http://localhost:8080/health || exit 1
五、容器管理
- 查看运行状态:
docker ps - 停止容器:
docker stop <容器ID> - 删除容器:
docker rm <容器ID>
六、安全建议
- 避免以root用户运行容器,使用
USER指令切换用户。 - 定期更新基础镜像以修补安全漏洞。
以上就是关于“Java在Debian上的容器化部署实践”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm