通过shell脚本部署jar到docker(简单易懂附案例)

目录

    • 简介
    • 1. 准备工作
        • 1.1 Dockerfile 文件编写
        • 1.2 shell 脚本编写
    • 2 执行脚本一键打包部署
        • 2.1 把第一步准备的文件复制到同一个文件夹下
        • 2.2 执行脚本


简介

  • 本文以手工部署 (dockerfile 文件 生成镜像)的实战过程为例,教大家如何将jar部署到docker。

1. 准备工作

1.1 Dockerfile 文件编写
  • dockerfile 用于指示 docker image build 命令自动构建Image的源代码的纯文本文件,其内包含了一条条的指令(Instruction),用于构建镜像。每一条指令构建一层镜像,因此每一条指令的内容,就是描述该层镜像应当如何构建。
  • 创建Dockerfile文件
  • 复制下面内容,将 xx 替换为你的jar包名称
# Docker image for springboot file run
# VERSION 0.0.1
# Author: 
# 基础镜像使用java
FROM openjdk:11.0.7
# 作者
MAINTAINER frank<742740345@qq.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp 
# 将jar包添加到容器中并更名为xx.jar
ADD xx.jar xx.jar 
# 运行jar包
RUN bash -c 'touch /xx.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/xx.jar"]
1.2 shell 脚本编写

需要更改的地方:

  1. jarName=你的jar名称
  2. docker run … 根据你的实际情况更改参数
#!/bin/bash
jarName=m-links-file
function build_image {
    echo "################## $1 镜像构建中... ####################################"
    echo "$1 image building..."
    docker build -t $1 $2
}
build_image $jarName .
echo "################## 正在清除旧镜像... ####################################"
docker rm -f $jarName || true
docker run -d --restart=always --name $jarName -p 20010:20010 $jarName
echo "$jarName image runing..."
echo "##############  部署完成  ############################"

2 执行脚本一键打包部署

2.1 把第一步准备的文件复制到同一个文件夹下

通过shell脚本部署jar到docker(简单易懂附案例)_第1张图片

2.2 执行脚本
# 更改为可执行权限
chmod 777 start.sh
# 执行脚本
./start.sh

通过shell脚本部署jar到docker(简单易懂附案例)_第2张图片

你可能感兴趣的:(linux运维,docker,linux,容器,java,springboot)