• Docker运行jar包


    前置条件

    centos安装docker成功,运行docker version无报错

    1. docker 配置国内镜像:

    修改 /etc/docker/daemon.json文件,如果没有就自己创建,写入以下内容
    {
        "registry-mirrors":[
        "https://ustc-edu-cn.mirror.aliyuncs.com",
        "http://hub-mirror.c.163.com",
        "https://registry.aliyuncs.com"
        ]
    }

    配置阿里云镜像后重启服务
    systemctl daemon-reload
    systemctl restart docker

    2.在/root路径下新建dockerfile内容如下:

    FROM openjdk:11
    EXPOSE 8080
    WORKDIR /root
    ADD jarfile/cicd*.jar /root.app.jar
    ENTRYPOINT ["java","jar","/root/app.jar"]

    亲测有效:

    FROM openjdk:11

    MAINTAINER jeff

    VOLUME /root

    EXPOSE 8080

    ADD cicdtest-0.0.1-SNAPSHOT.jar app.jar

    ENTRYPOINT ["java","-jar","/app.jar"]

    ADD cicdtest-0.0.1-SNAPSHOT.jar app.jar这句会把app.jar放在docker image的根目录下,
    ENTRYPOINT ["java","-jar","~/app.jar"]这句会去用户home目录下去找, 所以找不到。

    改成  ENTRYPOINT ["java","-jar","/app.jar"]


    3.把java项目jar包打包成镜像

    注意:当前目录要有dockerfile这个文件,需要等待的时间比较长

    docker build -t demo .

    docker build -f dockerfile -t demo1 .

    注意 cicdtest-0.0.1-SNAPSHOT.jar 在/root/jarfile 路径下

     

     

    4.查看镜像

    docker images

    jar已经成功打包成镜像,并且获取openjdk成功

    5.运行镜像
     

    docker run -d --name demo -p 8080:8080 demo

    --name demo 命名为demo
    -p 8080:8080 断开映射
    最后的demo表示镜像的名称

     

     

    查看运行的容器
    docker ps 

    如果docker ps没有看到任何容器,说明容器启动失败

    查看容器名称为demo的log的最后500行

    docker logs -f --tail=500 demo

     

    容器运行成功,在浏览器输入网址,可以看到返回页面 

     

    查看所有的容器
    docker ps -a

    停止容器

    dokcer stop 容器id

     

    6.强制删除镜像

    docker rmi -f 镜像名称

    7. 删除容器

    docker ps -a 查看所有容器

    docker rm 容器id

    8.其他

    docker 镜像官网
    hub.docker.com

     重新加载daemon  重启docker 服务具体命令如下:
    systemctl daemon-reload
    restart docker.service

    service docker restart

    让 Docker 容器在后台以守护态(Daemonized)形式运行,可以通过添加 -d 参数来实现。
    [root@VM-0-5-centos ~]# docker run -itd centos:latest /bin/bash

    查看端口占用

    netstat -tanlp 

     

     

  • 相关阅读:
    [附源码]Python计算机毕业设计SSM精准扶贫系统(程序+LW)
    通过隧道功能在安全标准较高的情况下访问Linux
    【Linux】浅谈冯诺依曼体系结构与操作系统
    基金的全面介绍,看这一篇就够了
    MySQL--MHA高可用
    Paper Reading《Torch.manual_seed(3407) is all you need》
    安装mqtt服务器问题及处理办法
    第十三章 实现组件库按需引入功能
    创信短信API的无代码开发集成:电商平台、CRM和用户运营
    Tungsten Fabric SDN — 与 Kubernetes 的资源映射
  • 原文地址:https://blog.csdn.net/qq_30273575/article/details/127515476