使用docker部署一个jar项目

简介:

通过docker镜像, docker可以在服务器上运行包含项目所需运行环境的docker容器, 在线仓库里有很多各个软件公司官方发布的镜像, 或者第三方的镜像. 如果我们需要使用docker把我们的应用程序打包成镜像, 别的机器上只要安装了docker, 就可以直接运行镜像, 而不需要再安装应用程序所需要的环境(比如 jre)了.

定制自己的镜像:

更新已有的镜像,再构建新的自定义镜像.

1. 使用docker pull 镜像名:版本从在线docker仓库中拉取一个镜像

docker pull ubuntu:18.04 ​ 使用docker images 可以看到你的镜像: (默认路径: /var/lib/docker/containers)

root@iZbp13tcf8gaqn21r6m8viZ:/var/lib/docker/containers# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
lifetrack           1.0                 881e666fc6b3        21 minutes ago      1.49GB
ubuntu_jdk          1.0         &n
### 如何使用 Docker 部署 Java JAR #### 准备工作 为了成功部署Java应用程序作为Docker容器,需先准备好待打的应用程序JAR文件。确保该文件位于主机系统的指定目录下。 #### 下载基础镜像 获取官方OpenJDK镜像是必要的前置条件之一。这可以通过执行`docker pull openjdk:11`来完成[^3]。此操作将拉取适用于大多数现代Java应用的稳定版OpenJDK 11环境至本地机器上。 #### 启动并运行容器化应用 一旦拥有目标JAR文件以及适当的基础镜像之后,则可通过如下命令启动服务: ```bash docker run -d --name my-java-app \ -v /path/to/application.jar:/app/app.jar \ -p hostPort:containerPort \ openjdk:11 sh -c 'java $JAVA_OPTS -jar /app/app.jar' ``` 上述脚本中的参数说明如下: - `-d`: 表示以后台模式运行容器; - `--name my-java-app`: 给创建的新容器命名; - `-v /path/to/application.jar:/app/app.jar`: 将宿主机上的路径映射到容器内部特定位置;这里假设外部路径为`/path/to/application.jar`, 而在容器内的对应地址则设为`/app/app.jar`; - `-p hostPort:containerPort`: 定义端口转发规则,其中左边为主机开放给外界访问的实际端口号,而右侧则是容器监听的服务端口; - `sh -c 'java $JAVA_OPTS -jar /app/app.jar'`: 执行启动命令,在此处调用了Java解释器加载并初始化Web服务器实例[^1]。 #### 创建自定义Dockerfile(可选) 对于更复杂的场景或者希望简化构建过程的情况来说,编写一个简单的Dockerfile可能是更好的选择。下面是一个基本的例子: ```Dockerfile FROM openjdk:11-jre-slim VOLUME /tmp ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"] ``` 这段配置指定了基于精简版OpenJDK 11镜像建立新镜像的过程,并设置了默认入口点用于自动启动内置于image中的application jar[^2]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值