• docker 使用教程4-(Docker创建Java容器运行SpringBoot项目)


    上一篇  docker 使用教程3-(Docker安装Nginx) 学习如何拷贝文件到容器

    本篇介绍如何使用docker创建Java容器运行SpringBoot项目

    下一篇 docker 使用教程5-(Docker容器互联) 学习创建网络

    大部分教程都是使用Dockerfile来创建镜像再去运行,当然这也是一种办法,本篇两种方法都有介绍: 

    思路1:先拉取java镜像,构建java容器,再把SpringBoot的jar包拷进容器,然后进入容器运行jar包就OK了。

    思路2:构建DockerFile创建SpringBoot容器运行。

    实现方式一

    ①、拉取镜像

    docker pull java:8

    ②、运行容器

    docker run -p 8888:8001 --name java-test -d java:8 tail -f /dev/null

    参数解释:

    -p 端口映射:(主机端口:容器端口)
    --name 容器名称(java-test)
    -d 后台运行
    java:8 镜像名称:版本号
    tail -f /dev/null 有事可做(不然运行了就退出了)

    ③、拷贝 jar 包到容器内部

        1、先下载SpringBoot项目jar包

              jar包下载地址:https://gitee.com/cnetopro/springboot-dcoker

        2、通过Xftp或者其他软件把 springboot-0.0.1-SNAPSHOT.jar 传输到主机

        3、把 springboot-0.0.1-SNAPSHOT.jar 拷贝到容器内部

    docker cp /root/springboot-0.0.1-SNAPSHOT.jar 容器ID:/

    ④、进入容器运行项目

    进入容器

    docker exec -it 容器ID bash

    运行SpringBoot项目

    nohup java -jar springboot-0.0.1-SNAPSHOT.jar /dev/null 2>&1 &

    参数解释:

    buhup 谐音no hope,用于后台运行退出不终止项目。
    dev/null 日志输入地址(不保留日志)
    2>&1 & 标准输出

    查看运行情况

    ps -aux|grep java

    ⑤查看结果

    在浏览器输入 IP:8888 即可看到:

    Hello SpringBoot Docker

    实现方式二

    使用Dockerfile构建SpringBoot项目运行环境

    ①、拉取镜像

    docker pull java:8

    ②、下载 SpringBoot 项目 jar 包

        1、先下载SpringBoot项目jar包

              jar包下载地址:https://gitee.com/cnetopro/springboot-dcoker

        2、通过Xftp或者其他软件把 springboot-0.0.1-SNAPSHOT.jar 传输到主机

    ③、创建Dockerfile

    vim Dockerfile

    内容:

    FROM java:8
    COPY springboot-0.0.1-SNAPSHOT.jar /
    CMD java -jar springboot-0.0.1-SNAPSHOT.jar

    解释:

    FROM 基于 java:8镜像创建
    COPY 把当前目录的springboot-0.0.1-SNAPSHOT.jar拷贝到容器内的/目录下
    CMD 执行命令java -jar springboot-0.0.1-SNAPSHOT.jar 运行项目

    ④、构建镜像

    docker build -t springboot_test .

    解释:

    build -t

    构建镜像名为 springboot_test
    . 表示当前目录的Dockerflie文件

    ⑤、运行镜像

    docker run -p 8888:8001 --name java-test -d springboot_test

    ⑥、查看结果

    在浏览器输入 IP:8888 即可看到:

    Hello SpringBoot Docker

  • 相关阅读:
    ECMAScript6——异步操作之Promise
    ECMAScript6——Set数据结构
    浅复制与深复制
    构造HTTP请求Header实现"伪造来源IP"
    Matlab图像直方图相关函数
    蓝蓝设计 使用全屏照片的网页设计欣赏
    JRainbow开发进度
    组合之01转换法
    python 学习笔记 9 -- Python强大的自省简析
    幻世(OurDream)2D图形引擎易语言汉化版更新提示
  • 原文地址:https://www.cnblogs.com/easyidea/p/14234807.html
Copyright © 2020-2023  润新知