分享好友 最新动态首页 最新动态分类 切换频道
docker发布到远程linux,使用docker Maven插件本地构建docker镜像并发布到远程服务器...
2024-12-26 21:09

1.登录网站https://start.spring.io/,生成一个基本的SpringBoot应用。

2.将应用导入Eclipse IDE并创建Application类。目录结构如下

Application代码如下

package com.example.demo.controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

@RestController

public class Application {

@RequestMapping(value="/phone")

public String index(){

return "Hello World!";

}

}

3.在pom.xml文件中增加插件配置

com.spotify

docker-maven-plugin

0.4.12

microservice-eureka-demo

java

["java", "-jar", "/${project.build.finalName}.jar"]

/

${project.build.directory}

${project.build.finalName}.jar

4.pom.xml文件中增加依赖

org.springframework.boot

spring-boot-starter-web

5.配置本地环境变量,设置docker文件构建主机(主机192.168.244.130已经安装完docker环境)

root@ubuntu-02:~# docker -v

Docker version 17.05.0-ce, build 89658be

本地环境变量配置如下

6.进入代码目录,执行命令“mvn clean package docker:build”项目编译成功。

[INFO]

[INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ dockerdemo ---

[INFO] Building jar: C:UsersSeanDownloadsdemodemo argetdockerdemo-0.0.1-SNAPSHOT.jar

[INFO]

[INFO] --- spring-boot-maven-plugin:1.5.4.RELEASE:repackage (default) @ dockerdemo ---

[INFO]

[INFO] --- docker-maven-plugin:0.4.12:build (default-cli) @ dockerdemo ---

[INFO] Copying C:UsersSeanDownloadsdemodemo argetdockerdemo-0.0.1-SNAPSHOT.jar -> C:UsersSeanDownloadsdemodemo argetdockerdockerdemo-0.0.1-SNAPSHOT.jar

[INFO] Building image microservice-eureka-demo

Step 1/3 : FROM java

---> d23bdf5b1b1b

Step 2/3 : ADD /dockerdemo-0.0.1-SNAPSHOT.jar //

---> e1b3c3de711c

Removing intermediate container a9e57b1d9883

Step 3/3 : ENTRYPOINT java -jar /dockerdemo-0.0.1-SNAPSHOT.jar

---> Running in 7a3cdc1d112b

---> 1f800bf8cb24

Removing intermediate container 7a3cdc1d112b

Successfully built 1f800bf8cb24

Successfully tagged microservice-eureka-demo:latest

[INFO] Built microservice-eureka-demo

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 39.982 s

[INFO] Finished at: 2017-07-23T21:51:21+08:00

[INFO] Final Memory: 42M/393M

[INFO] ------------------------------------------------------------------------

7.ssh连接192.168.244.130,执行命令“docker images”,查看可用的镜像

root@ubuntu-02:~# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

microservice-eureka-demo latest 1f800bf8cb24 23 minutes ago 658MB

8.执行命令“docker run -p 8080:8080 microservice-eureka-demo:latest”,使用镜像microservice-eureka-demo:latest启动docker容器。

root@ubuntu-02:~# docker run -p 8080:8080 microservice-eureka-demo:latest

. ____ _ __ _ _

/\ / ___'_ __ _ _(_)_ __ __ _

( ( )___ | '_ | '_| | '_ / _` |

\/ ___)| |_)| | | | | || (_| | ) ) ) )

' |____| .__|_| |_|_| |___, | / / / /

=========|_|==============|___/=/_/_/_/

:: Spring Boot :: (v1.5.4.RELEASE)

2017-07-23 14:19:21.766 INFO 1 --- [ main] com.example.demo.DemoApplication : Starting DemoApplication v0.0.1-SNAPSHOT on 656842f890d3 with PID 1 (/dockerdemo-0.0.1-SNAPSHOT.jar started by root in /)

2017-07-23 14:19:21.792 INFO 1 --- [ main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default

2017-07-23 14:19:22.402 INFO 1 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@5a2e4553: startup date [Sun Jul 23 14:19:22 UTC 2017]; root of context hierarchy

2017-07-23 14:19:31.950 INFO 1 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)

2017-07-23 14:19:32.015 INFO 1 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]

2017-07-23 14:19:32.032 INFO 1 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.15

2017-07-23 14:19:32.467 INFO 1 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext

2017-07-23 14:19:32.467 INFO 1 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 10082 ms

2017-07-23 14:19:33.101 INFO 1 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]

2017-07-23 14:19:33.141 INFO 1 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]

2017-07-23 14:19:36.180 INFO 1 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup

2017-07-23 14:19:36.449 INFO 1 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)

2017-07-23 14:19:36.477 INFO 1 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 17.363 seconds (JVM running for 19.474)

9.执行命令“docker ps”,查看启动的docker容器。

root@ubuntu-02:~# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

08099bd4b8e1 microservice-eureka-demo:latest "java -jar /docker..." 27 seconds ago Up 26 seconds 0.0.0.0:8080->8080/tcp upbeat_borg

10.执行命令“docker exec -it 08099bd4b8e1 bin/bash”,进入docker容器。

root@ubuntu-02:~# docker exec -it 08099bd4b8e1 bin/bash

root@08099bd4b8e1:/#

11.执行命令“ps -ef”,可用查看到docker容器里面启动的进程,即是pom.xml配置文件中配置的插件docker-maven-plugin的entryPoint,java -jar /dockerdemo-0.0.1-SNAPSHOT.jar。

["java", "-jar", "/${project.build.finalName}.jar"]

root@08099bd4b8e1:/# ps -ef

UID PID PPID C STIME TTY TIME CMD

root 1 0 4 14:20 ? 00:00:17 java -jar /dockerdemo-0.0.1-SNAPSHOT.jar

root 34 0 0 14:24 ? 00:00:00 bin/bash

root 41 34 0 14:26 ? 00:00:00 ps -ef

root@08099bd4b8e1:/#

12.至此,使用docker插件构建docker镜像并运行docker容器完成,访问路径“http://192.168.244.130:8080/p...”,获得controller结果

最新文章
独立站营销攻略:高效选择 Google 搜索广告关键词的方法
搜索广告即是基于关键词的广告形式。每当消费者通过 Google 进行与卖家主营业务相关的产品或服务搜索时,卖家的广告就有机会出现在搜索结果之中。选择与业务高度相关的关键词不仅能帮助潜在客户快速找到他们感兴趣的商品,同时也能有效地传
阿里云|人工智能(AI)技术解决方案
函数计算部署Stable Diffusion AI绘画技术解决方案 通过函数计算快速部署Stable Diffusion模型为用户提供快速通过文字生成图片的能力。该方案通过函数计算快速搭建了AIGC的能力,无需管理服务器等基础设施,专注模型的能力即可
热剧售后综艺还有大搞头
犀牛娱乐原创文|方正 编辑|朴芳剧综,即剧集衍生综艺,本质上,它是一种长视频平台借势热剧流量开发售后内容的长尾产品。2024临近尾声,这个赛道正打得不可开交。前有优酷《剧剧有回应》首发《剧剧有回应·春花焰》、且10日又官宣了孙俪
数据分析常见概念
BI:Business Intelegence,商业智能,基于数据仓库,经过数据挖掘后,得到了商业价值的过程。例如利用数据预测用户购物行为属性商业智能DW:Data Warehouse,数据仓库,数据库的升级概念,一般量更庞大,将多个数据来源的数据进行汇总、整
同创智能锁全国售后维修电话(同创智能锁)总部故障报修 - 金昌机械 - 金昌百科知识-金昌蓝心网
同创智能锁24小时维修服务热线:400-658-8618。亳州智能锁全市各区售后服务点热线号码。☎:400-658-8618同创智能锁服务,秉承“诚信为本、客户至上”的服务态度和“以客户为中心”的服务指导思想,不仅真诚地为用户提供先进、高质量的系列
耐用性问题
科技媒体 sammyfans 昨日(12 月 16 日)发布博文,报道称部分三星 Galaxy S24 Ultra 手机的超强防反光涂层存在耐用性问题,未能达到预期效果。IT之家曾于今年 1 月报道,三星在宣传 Galaxy S24 Ultra 时主要提及了钛金属、AI 等诸多亮点,
除菌过滤器
[1]国产品牌滤芯均为我司生产的替代原厂品牌滤芯,其过滤滤材采用德国原装进口HV公司产品,注册商标为佳洁牌。本公司涉及的其它品牌均无品牌意义,只是作为产品型号参照和客户选型对照使用。进口滤芯和过滤器为原装进口,有防伪标志。我司
【国盛计算机】海外智能驾驶持续放大招
登录新浪财经APP 搜索【信披】查看更多考评等级  炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!FSD v13已向部分用户发布,特斯拉端到端算法持续迭代。根据特斯拉自动驾驶工作人员Ashok Elluswamy的推特信息
造有道 智万物——德勤人工智能制造业应用调查
二、应用场景人工智能在制造业的应用场景众多,大致可以分为智能生产、产品和服务、企业运营管理、供应链以及业务模式决策五个领域。智能生产相关场景应用是目前制造企业部署人工智能的首要选择,其次为产品和服务相关场景。但未来两年,人
迁移 TiDB 数据库的数据至 OceanBase 数据库 MySQL 租户
数据传输支持创建源端 TiDB 数据库至目标端 OceanBase 数据库 MySQL 租户的数据迁移任务。您可以通过结构迁移、全量迁移和增量同步等,无缝迁移源端数据库的存量业务数据和增量数据至 OceanBase 数据库 MySQL 租户。TiDB 数据库支持在线事
相关文章
推荐文章
发表评论
0评