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
相关推荐
我是华为OD~HR~栗栗呀19 分钟前
Java面经(22届考研-华oD)
java·后端·python·华为od·华为
z晨晨1 小时前
互联网大厂Java求职面试实战:Spring Boot与微服务场景深度解析
java·spring boot·redis·微服务·kafka·spring security·电商
二饭1 小时前
使用Docker安装Neo4j
docker·容器·neo4j
戴誉杰1 小时前
cloudfared 内网穿透通过docker方式遇到的问题
运维·docker·容器·cloudfared
练习时长一年2 小时前
Bean后处理器
java·服务器·前端
野犬寒鸦2 小时前
从零起步学习Redis || 第五章:利用Redis构造分布式全局唯一ID
java·服务器·数据库·redis·分布式·后端·缓存
吹晚风吧2 小时前
SSE是什么?SSE解决什么问题?在什么场景使用SSE?
java·springboot·sse
Terio_my2 小时前
IDEA自动构建与热部署配置
java·ide·intellij-idea
数智顾问3 小时前
Java坐标转换的多元实现路径:在线调用、百度与高德地图API集成及纯Java代码实现——纯Java代码实现与数学模型深度剖析
java·开发语言
野熊佩骑3 小时前
CentOS7二进制安装包方式部署K8S集群之CA根证书生成
linux·运维·docker·云原生·容器·kubernetes·centos