0%

Dockerfile部署Springboot项目

Dokcerfile官方文档:https://docs.docker.com/engine/reference/builder/
Docker仓库地址:https://hub.docker.com/
官方镜像github地址:https://github.com/docker-library/official-images

Dockerfile创建运行环境

环境要求:centos7.9.2009服务器 + JDK8

  • 编写Dockerfile

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    FROM centos:centos7.9.2009

    LABEL version="1.0"
    LABEL author="xg"

    # 添加并解压缩jdk安装包
    ADD ./jdk-8u381-linux-aarch64.tar.gz /usr/local/

    # 安装jdk
    RUN rm -rf /usr/local/jdk-8u381-linux-aarch64.tar.gz && yum clean all

    # 配置环境变量
    ENV JAVA_HOME=/usr/local/jdk1.8.0_381
    ENV PATH=$PATH:$JAVA_HOME/bin

    # 设置工作目录,在这个目录下存放springboot jar包
    WORKDIR /app

    CMD ["bash"]
  • 构建镜像

    1
    2
    # -t参数指定镜像名称以及版本,即:centos7/jdk8:1.0
    docker build -t centos7/jdk8:1.0 .
  • 查看镜像

    1
    2
    3
    4
    5
    docker images

    # 出现下面内容表示构建成功
    REPOSITORY TAG IMAGE ID CREATED SIZE
    centos7/jdk8 1.0 44af210bd7d2 20 hours ago 503MB

Dockerfile部署Springboot项目

基于刚刚构建好的 centos7/jdk8:1.0 环境,将springboot jar包部署到运行环境

  • 编写Dockerfile

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    FROM centos7/jdk8:1.0

    LABEL version="1.0"
    LABEL author="xg"

    WORKDIR /app

    COPY ./boot-dockerfile-1.0-SNAPSHOT.jar /app/boot-dockerfile-1.0-SNAPSHOT.jar

    # 暴露Tomcat访问端口
    EXPOSE 8080

    # 运行jar包
    CMD ["java", "-jar", "boot-dockerfile-1.0-SNAPSHOT.jar"]
  • 构建Dockerfile

    1
    docker build -t bootjar:1.0 .
  • 启动Docker镜像

    1
    docker run -dit -p 8080:8080 bootjar:1.0
  • 测试

    1
    2
    3
    curl "http://10.211.55.10:8080/hello?val=docker"

    hello, docker