• 使用docker部署jar包步骤


    1,首先生成jar包

    生成的jar包位置

     

     

    2,把jar包上传到服务器

    1. 比如直接cp到/opt/java_app_docker目录下
    2. 在相同目录下创建Dockerfile
    3. sudo vim Dockerfile
    4. # 拉取jdk8作为基础镜像
    5. FROM java:8
    6. # 作者
    7. MAINTAINER zbdemo <zbdemo@163.com>
    8. # 添加jar到镜像并命名为user.jar
    9. ADD user-0.0.1-SNAPSHOT.jar user.jar
    10. # 镜像启动后暴露的端口
    11. EXPOSE 8001
    12. # jar运行命令,参数使用逗号隔开
    13. ENTRYPOINT ["java","-jar","user.jar"]

    3,然后使用命令打包

    1. docker build -t user .
    2. user表示镜像名称
    3. 最后的(点.)表示Dockerfile在当前目录
    4. 打包完成后使用docker images查看镜像

    4,然后使用docker images 查看生成的镜像

    5,启动

    1. 使用docker run命令创建并运行容器:
    2. docker run -d --name user -p 8001:8001 user
    命令功能
    docker run创建并启动容器
    –name指定一个容器名称
    -d后台运行容器,并返回容器ID
    -p指定端口
    user需要启动的镜像(名称+版本)不指定版本默认最新版本
    符号左边为宿主机,右边为容器空间

    6,启动完成,查看启动日志:
    docker logs -f -t user
    jar日志启动成功,查看容器:
    docker ps 

    7,测试验证

    访问一下,测试效果:
    localhost:8001/hello/hello

    ================================================================

    进化操作

    ================================================================

    进化:可复用容器

    首先停止并删除刚刚创建的容器和镜像
    停止容器:
    docker stop user
    删除容器:
    docker rm user
    删除镜像:
    docker rmi user

    修改Dockerfile文件
    sudo vim Dockerfile
    修改后内容如下(给jar安排了一个目录,方便挂载到宿主机):

    # 拉取jdk8作为基础镜像
    FROM java:8
    # 作者
    MAINTAINER zbdemo
    # 添加jar到镜像并命名为user.jar
    ADD user-0.0.1-SNAPSHOT.jar /app/user.jar
    # 镜像启动后暴露的端口
    EXPOSE 8001
    # jar运行命令,参数使用逗号隔开
    ENTRYPOINT ["java","-jar","/app/user.jar"]

    然后在/opt/java_app_docker文件夹下面创建jar挂载目录
    sudo mkdir app

    把你的jar包cp一份到宿主机/opt/java_app_docker/app目录下并改名为user.jar 这里一定要在app目录下存放你的jar,不然容器启动会失败,找不到jar

     

     

    打包镜像-创建并运行容器
    打包镜像:
    docker build -t user .
    创建并运行容器:
    docker run -d --name user -p 8001:8001 -v /opt/java_app_docker/app:/app user
    命令解释如下:

    命令功能
    docker run创建并启动容器
    –name指定一个容器名称
    -d后台运行容器,并返回容器ID
    -p指定端口
    user需要启动的镜像(名称+版本)不指定版本默认最新版本
    -v挂载目录到宿主机
    符号左边为宿主机,右边为容器空间

    这样的方式启动完成之后,更新服务时只需要更换宿主机/opt/java_app_docker/app目录下的jar包,然后重启容器即可实现更新,省略了每次更新删除打包创建等过程

  • 相关阅读:
    LDAP服务器如何重启
    匿名内部类的概念和使用详解
    imx6ull - 制作烧录SD卡
    8. python str( )函数
    ElasticSearch-head前端安装以及连接ES基本步骤(linux)
    redis哨兵系列1
    React-hooks有哪些 包括用法是什么?
    2022年字节跳动抖音日常实习面经
    Linux操作系统——http协议(一)
    【RabbitMQ】RabbitMQ 消息的堆积问题 —— 使用惰性队列解决消息的堆积问题
  • 原文地址:https://blog.csdn.net/ls6658/article/details/126851867