Docker制作镜像

javascript 复制代码
docker build -t <镜像名称>:<版本> -f <Dockerfile路径> <构建上下文路径>

假设你有一个项目结构如下:

/myproject/

├── Dockerfile

└── app.jar

javascript 复制代码
# 使用官方 OpenJDK 8 作为基础镜像
FROM openjdk:8-jdk-alpine

# 设置维护者信息(可选)
LABEL maintainer="your-email@example.com"

# 设置工作目录
WORKDIR /opt

# 将本地的 JAR 包复制到容器中;target目录是整个项目打包上传后解压得到
COPY target/*.jar /opt/app.jar

# 暴露应用运行时使用的端口(请根据实际情况调整)
EXPOSE 8080

# 定义环境变量(可选,用于指定 JVM 参数等)
ENV JAVA_OPTS="-Xms512m -Xmx2g -XX:+UseG1GC -Duser.timezone=GMT+8"

# 启动命令,运行 Java 应用
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar /opt/app.jar --spring.profiles.active=prod"]
javascript 复制代码
docker build -t myapp:1.0 -f ./Dockerfile .

这里的 . 表示当前目录作为构建上下文

运行docker

javascript 复制代码
docker run --restart=always -d -p 8080:8080 --name=myapp myapp:1.0
相关推荐
SUPER526621 小时前
本地开发环境_spring-ai项目启动异常
java·人工智能·spring
moxiaoran575321 小时前
Spring AOP开发的使用场景
java·后端·spring
小王师傅661 天前
【轻松入门SpringBoot】actuator健康检查(上)
java·spring boot·后端
醒过来摸鱼1 天前
Java classloader
java·开发语言·python
专注于大数据技术栈1 天前
java学习--StringBuilder
java·学习
loosenivy1 天前
企业银行账户归属地查询接口如何用Java调用
java·企业银行账户归属地·企业账户查询接口·企业银行账户查询
IT 行者1 天前
Spring Security 6.x 迁移到 7.0 的完整步骤
java·spring·oauth2
JIngJaneIL1 天前
基于java+ vue农产投入线上管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
东东的脑洞1 天前
【面试突击二】JAVA基础知识-volatile、synchronized与ReentrantLock深度对比
java·面试
川贝枇杷膏cbppg1 天前
Redis 的 AOF
java·数据库·redis