IDEA 以 war 包形式部署 Docker 中 (Dockerfile 文件)

IDEA 以 war 包形式部署 Docker 中 - Dockerfile 文件

1. 环境准备

前提准备:
https://blog.csdn.net/YKenan/article/details/111446036
war 包依赖于 tomcat

# 镜像名称
FROM centos8_1.8
# 作者
MAINTAINER ykenan
# 运行命令
RUN mkdir /home/tomcat/
# 复制
COPY apache-tomcat-9.0.12.tar.gz /home/tomcat/
# 切换工作路径
WORKDIR /home/tomcat/
# 解压
RUN tar -zxvf apache-tomcat-9.0.12.tar.gz
# 删除
RUN rm apache-tomcat-9.0.12.tar.gz
# 定义变量
ENV DIR_TOMCAT /home/tomcat/apache-tomcat-9.0.12/
# 删除文件夹
RUN rm -rf $DIR_TOMCAT/webapps/*
# 切换工作路径
WORKDIR $DIR_TOMCAT
# 暴露端口
EXPOSE 8080
# 启动 tomcat
CMD ["./bin/catalina.sh", "run"]

运行上面的 Dockerfile 文件

docker build -t tomcat_1.8 .

2. IDEA 中配置 Docker

在这里插入图片描述
在这里插入图片描述

Dockerfile 文件的内容

# 基于 tomcat
FROM tomcat_1.8
# 作者
MAINTAINER ykenan
# 定义变量
ENV DIR_WEBAPP /home/tomcat/apache-tomcat-9.0.12/webapps/
# 切换工作路径
WORKDIR $DIR_WEBAPP
# 添加本地的 war 包到远程容器中
ADD ./target/ykenan-1.0.war ykenan.war
# 安装 unzip
RUN yum install -y unzip zip
# 解压 war 包到 ROOT 目录
RUN unzip ykenan.war -d ykenan
# 暴露接口
EXPOSE 8080
# 启动 Tomcat
CMD ["../bin/catalina.sh","run"]

运行即可了. 这个方法比较简单, jar 也可以这样. 用不上私有仓库.

如果镜像出现了 none 的现象, 就是 Dockerfile 文件写错了.

3. Jar 包形式的 Dockerfile

# 基础镜像使用java
FROM centos
# 作者
MAINTAINER YKenan
# 安装 JDK
RUN yum install -y java-1.8.0-openjdk-devel.x86_64
# 将 jar 包添加到容器中并更名为 app.jar
ADD ./target/ykenan-1.0.jar ykenan.jar
# 运行jar包
# touch 命令, 如果没有文件创建则创建文件, 如果文件已存在, 则修改时间戳
RUN bash -c 'touch /ykenan.jar'
ENTRYPOINT ["java","-jar","/ykenan.jar"]

要使用Docker部署jar并创建Dockerfile文件,可以按照以下步骤进行操作: 1. 创建一个新的目录,用于存放Dockerfile和其他相关文件。 2. 在该目录创建一个名为Dockerfile文件。 3. 在Dockerfile文件,指定要运行的Java环境版本和jar的路径。可以使用官方的Java Docker镜像,例如使用openjdk:8-jdk-alpine作为基础镜像。 ```dockerfile FROM openjdk:8-jdk-alpine ``` 4. 将jar复制到Docker镜像的当前工作目录。可以使用`COPY`指令将jar文件复制到镜像。 ```dockerfile COPY your-jar-file.jar /app/your-jar-file.jar ``` 5. 使用`ENTRYPOINT`指令指定启动命令,以便在运行时执行jar。可以根据实际情况进行适当的修改。 ```dockerfile ENTRYPOINT ["java","-jar","/app/your-jar-file.jar"] ``` 6. 完成Dockerfile文件的编写后,可以使用`docker build`命令构建Docker镜像。在命令行导航到Dockerfile的目录,并执行以下命令: ```bash docker build -t your-image-name . ``` 这将使用Dockerfile构建一个名为your-image-name的镜像。 7. 构建完成后,可以使用`docker run`命令来运行该镜像并启动容器。可以指定容器使用的端口和其他相关参数。 例如: ```bash docker run -p 8080:8080 your-image-name ``` 这将启动一个容器,并将主机的8080端口映射到容器的8080端口上。根据实际情况进行调整。 这样,你就可以使用Docker部署jar并通过Dockerfile文件来创建和管理Docker镜像了。请注意,这只是一个基本的示例,具体实现可能因环境和jar而异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值