docker构建jar镜像

构建 DockerFile

[root@192 /]# mkdir my
[root@192 /]# cd my
[root@192 my]# 

将jar包上传到创建的目录当中

在这里插入图片描述

在目录中创建 Dockerfile 文件

vi Dockerfile  

FROM openjdk:8    #集成父镜像 
WORKDIR /opt/    #设置工作目录
ADD tzsc.jar /opt/  #将jar挂载到工作目录
EXPOSE 8083  #容器端口
ENTRYPOINT ["java" , "-jar" , "tzsc.jar"]  #执行启动命令

构建镜像

docker build -t tzsc:0.0.0.1 .  
tzsc:0.0.0.1  镜像名称:镜像版本

创建并启动容器

docker run -d --name tzsc -p 8083:8083 tzsc:0.0.0.1

-d 容器后台运行
--name 自定义容器名称
-p 设置容器映射端口
tzsc:0.0.0.1 启动镜像名为tzsc:0.0.0.1

说明

本文访问地址为本地虚拟机IP地址

### 创建JAR 文件的 Docker 镜像(适用于 Mac 系统) 在 Mac 上使用 Docker 制作一个含 Java 应用程序 JAR 文件的镜像,通常需要以下几个步骤:编写 `Dockerfile`、构建镜像以及运行容器。 #### 1. 准备项目结构 确保你的项目目录中含以下内容: - `Dockerfile`:定义如何构建镜像。 - `pom.xml`(如果使用 Maven)或 `build.gradle`(如果使用 Gradle)。 - 编译好的 JAR 文件(例如 `app.jar`)。 - `src/` 目录(可选,用于存放源码)。 #### 2. 编写 Dockerfile 创建一个名为 `Dockerfile` 的文件,并添加如下内容: ```dockerfile # 使用基础镜像(OpenJDK) FROM openjdk:8u92-jdk-alpine # 创建工作目录 WORKDIR /app # 复制 JAR 文件到容器中 COPY app.jar app.jar # 设置 JVM 参数(可选) ENV JAVA_OPTS="" # 运行 Java 应用 ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"] ``` 这个 `Dockerfile` 使用了 Alpine Linux 版本的 OpenJDK 8,并通过环境变量 `JAVA_OPTS` 来动态设置 JVM 参数 [^2]。 #### 3. 构建 Docker 镜像 在终端中进入你的项目目录,执行以下命令来构建镜像: ```bash docker build -t my-java-app . ``` 其中 `my-java-app` 是你为镜像指定的名称。 #### 4. 查看已构建镜像 构建完成后,可以通过以下命令查看本地镜像列表: ```bash docker images ``` #### 5. 运行容器 使用以下命令启动一个基于该镜像容器: ```bash docker run -d -p 8080:8080 --name java-container my-java-app ``` - `-d` 表示以后台模式运行。 - `-p 8080:8080` 将容器的 8080 端口映射到主机的 8080 端口。 - `--name java-container` 为容器指定一个名称。 #### 6. 查看运行中的容器 可以使用以下命令查看当前运行的容器: ```bash docker ps ``` #### 7. 日志查看与调试 如果需要查看容器的日志信息,可以使用: ```bash docker logs java-container ``` 如果需要进入容器内部进行调试,可以使用: ```bash docker exec -it java-container sh ``` #### 8. 使用 Docker Compose(可选) 如果你希望使用 `docker-compose` 启动多个实例,可以创建 `docker-compose.yml` 文件,内容如下: ```yaml version: '3' services: app: image: my-java-app ports: - "8080:8080" deploy: replicas: 2 ``` 然后使用以下命令启动服务: ```bash docker-compose up --scale app=2 ``` 这将启动两个容器实例并共享同一个端口 [^3]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值