Peter20150926 2024-07-30 10:30 采纳率: 85.7%
浏览 8
已结题

docker 如何运行tar 和内部的jar包??

###运行docker 镜像的命令过程

首先我有一个docker的 tar包(cloud.tar),tar内部在/home/project/ 下面有一个Java的项目包(ms.jar),现在想 在宿主机(Centos环境)reboot 后这个tar包(cloud.tar)自动运行起来,并且内部的jar 包也被执行java -jar 。这个过程如何实现??
  • 写回答

1条回答 默认 最新

  • GISer Liu 2024-07-30 10:58
    关注

    该回答引用自GPT-3.5, 由博主 GISer Liu 编写:

    问题分析

    用户需要在CentOS环境下,实现Docker镜像的自动运行,并且在启动Docker容器时自动执行内部的Java程序(ms.jar)。具体需求如下:

    1. 在系统重启后,自动加载并运行Docker镜像(cloud.tar)。
    2. 在Docker容器启动时,自动执行Java程序(ms.jar)。

    解决方案

    为了实现上述需求,我们需要完成以下步骤:

    1. 将Docker镜像(cloud.tar)加载到系统中。
    2. 创建一个Docker容器,并在容器启动时执行Java程序。
    3. 配置系统服务,确保在系统重启后自动启动Docker容器。

    详细步骤

    1. 加载Docker镜像

    首先,我们需要将tar包(cloud.tar)加载到Docker中。使用以下命令:

    docker load -i cloud.tar
    

    2. 创建并运行Docker容器

    接下来,我们需要创建一个Docker容器,并在容器启动时执行Java程序(ms.jar)。假设Docker镜像的名称为cloud-image,我们可以使用以下命令创建并运行容器:

    docker run -d --name cloud-container -v /home/project:/home/project cloud-image java -jar /home/project/ms.jar
    

    解释:

    • -d:后台运行容器。
    • --name cloud-container:指定容器名称为cloud-container
    • -v /home/project:/home/project:将宿主机的/home/project目录挂载到容器的/home/project目录,确保Java程序可以访问。
    • cloud-image:Docker镜像的名称。
    • java -jar /home/project/ms.jar:在容器启动时执行Java程序。

    3. 配置系统服务

    为了确保在系统重启后自动启动Docker容器,我们需要创建一个系统服务。编辑一个新的服务文件,例如/etc/systemd/system/cloud-container.service,内容如下:

    [Unit]
    Description=Cloud Container Service
    After=docker.service
    
    [Service]
    ExecStart=/usr/bin/docker start -a cloud-container
    ExecStop=/usr/bin/docker stop -t 2 cloud-container
    
    [Install]
    WantedBy=multi-user.target
    

    解释:

    • [Unit]:服务描述和依赖项。
    • [Service]:服务的启动和停止命令。
    • [Install]:服务安装配置。

    保存文件后,启用并启动服务:

    systemctl daemon-reload
    systemctl enable cloud-container.service
    systemctl start cloud-container.service
    

    总结

    通过以上步骤,我们实现了在CentOS环境下,Docker镜像的自动加载和运行,并且在容器启动时自动执行内部的Java程序(ms.jar)。系统重启后,Docker容器也会自动启动并执行Java程序。

    如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月24日
  • 已采纳回答 8月16日
  • 创建了问题 7月30日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?