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
相关推荐
韩师学子--小倪5 小时前
fastjson与gson的toString差异
java·json
Drawing stars5 小时前
JAVA后端 前端 大模型应用 学习路线
java·前端·学习
nbsaas-boot5 小时前
SQL Server 存储过程开发规范(公司内部模板)
java·服务器·数据库
行百里er5 小时前
用 ThreadLocal + Deque 打造一个“线程专属的调用栈” —— Spring Insight 的上下文管理术
java·后端·架构
C_心欲无痕6 小时前
Dockerfile:构建 Docker 镜像
运维·docker·容器
玄〤6 小时前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot
J_liaty6 小时前
Spring Boot拦截器与过滤器深度解析
java·spring boot·后端·interceptor·filter
亲爱的非洲野猪7 小时前
Java锁机制八股文
java·开发语言
rgeshfgreh7 小时前
C++字符串处理:STL string终极指南
java·jvm·算法
Zoey的笔记本7 小时前
「支持ISO27001的GTD协作平台」数据生命周期管理方案与加密通信协议
java·前端·数据库