Docker实战笔记 二 Springboot Idea 插件打包

1.上传springboot的jar

root@cenots-7.5:/home/code#rz  -----app.jar

2.编辑Dockerfile

root@cenots-7.5:/home/code#vi Dockerfile内容
FROM openjdk:8
# 作者
MAINTAINER nnd
# 声明要使用的端口
EXPOSE 8080
# VOLUME 指定了临时文件目录为/tmp。# 将本地包添加到容器中并更名为容器内目录名
ADD /app.jar /app.jar
ADD /application.yml /application.yml
#挂载卷# 同步容器与本机时间
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezoneEXPOSE 9933#ENTRYPOINT命令用于指定这个容器启动的时候要运行的命令(可以追加命令)
ENTRYPOINT ["java","-jar","app.jar"]

3.制作Docker镜像

root@cenots-7.5:/home/code#docker build -t hello:1.0 .
[+] Building 1.5s (9/9) FINISHED                                                                  => [internal] load build definition from Dockerfile                                         0.0s=> => transferring dockerfile: 578B                                                         0.0s=> [internal] load .dockerignore                                                            0.0s=> => transferring context: 2B                                                              0.0s=> [internal] load metadata for docker.io/library/openjdk:8                                 0.9s=> CACHED [1/4] FROM docker.io/library/openjdk:8@sha256:86e863cc57215cfb181bd319736d0baf62  0.0s=> [internal] load build context                                                            0.1s=> => transferring context: 19.18MB                                                         0.1s=> [2/4] ADD /app.jar /app.jar                                                              0.1s=> [3/4] ADD /application.yml /application.yml                                              0.0s=> [4/4] RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >  0.3s=> exporting to image                                                                       0.1s=> => exporting layers                                                                      0.1s=> => writing image sha256:9f826b92d5b2142b92a6977f4728ea4cc93a6a2847a7314c07f92b5ae9fb932  0.0s=> => naming to docker.io/library/hello:1.0        

4.查看并启动容器

 root@cenots-7.5:/home/code#docker images
REPOSITORY             TAG                IMAGE ID       CREATED         SIZE
hello                  1.0                9f826b92d5b2   7 seconds ago   545MB
postgres               12                 0d56839ac0df   3 weeks ago     412MB
redis                  latest             7c4b517da47d   2 months ago    153MB
openzipkin/zipkin      latest             7fb470c13693   4 months ago    165MB
postgres               latest             1921dda0e2c5   5 months ago    412MB
redis                  6.2.10-alpine      a470c0525301   9 months ago    27.1MB
sonarqube              8.9.10-community   4009139ebd19   11 months ago   490MB
seataio/seata-server   1.5.2              f6a5368b6720   16 months ago   186MB
nacos/nacos-server     2.0.3              433eb51fef8d   2 years ago     1.05GB
seataio/seata-server   1.4.2              4909c4c024dc   2 years ago     156MB

5.启动容器

root@cenots-7.5:/home/code#docker run -d --name h1 -p 9666:9933 hello:1.0
33ef6638f3dddcbfbce243140ada085148bc127f783fb8d7f10c9a4ca1245265
root@cenots-7.5:/home/code#docker ps
CONTAINER ID   IMAGE                        COMMAND                   CREATED         STATUS         PORTS                                                                                  NAMES
33ef6638f3dd   hello:1.0                    "java -jar app.jar"       7 seconds ago   Up 6 seconds   8080/tcp, 0.0.0.0:9666->9933/tcp, :::9666->9933/tcp                                    h1
be0f46c5450a   seataio/seata-server:1.4.2   "java -Djava.securit…"   4 months ago    Up 2 weeks     0.0.0.0:8091->8091/tcp, :::8091->8091/tcp                                              seata-server
e5e9b616802c   nacos/nacos-server:2.0.3     "bin/docker-startup.…"   5 months ago    Up 2 weeks     0.0.0.0:8848->8848/tcp, :::8848->8848/tcp, 0.0.0.0:9848->9848/tcp, :::9848->9848/tcp   nacos203
85c7e7acf404   redis:6.2.10-alpine          "docker-entrypoint.s…"   9 months ago    Up 2 weeks     0.0.0.0:56379->6379/tcp, :::56379->6379/tcp 

6.调用服务接口http://ip:9666/login 查看日志

root@cenots-7.5:/home/code#docker logs -f  h1.   ____          _            __ _ _/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/  ___)| |_)| | | | | || (_| |  ) ) ) )'  |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot ::        (v2.1.2.RELEASE)2023-12-01 13:46:07.309  INFO 1 --- [           main] org.example.App                          : Starting App v1.0-SNAPSHOT on 33ef6638f3dd with PID 1 (/app.jar started by root in /)
2023-12-01 13:46:07.312  INFO 1 --- [           main] org.example.App                          : No active profile set, falling back to default profiles: default
2023-12-01 13:46:08.434  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 9933 (http)
2023-12-01 13:46:08.464  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2023-12-01 13:46:08.464  INFO 1 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.14]
2023-12-01 13:46:08.476  INFO 1 --- [           main] o.a.catalina.core.AprLifecycleListener   : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
2023-12-01 13:46:08.549  INFO 1 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2023-12-01 13:46:08.549  INFO 1 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1178 ms
2023-12-01 13:46:08.763  INFO 1 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2023-12-01 13:46:09.051  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 9933 (http) with context path ''
2023-12-01 13:46:09.055  INFO 1 --- [           main] org.example.App                          : Started App in 2.177 seconds (JVM running for 2.56)
2023-12-01 13:47:43.656  INFO 1 --- [nio-9933-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-12-01 13:47:43.657  INFO 1 --- [nio-9933-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2023-12-01 13:47:43.663  INFO 1 --- [nio-9933-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 6 ms
User{user='213123123', pwd='213123123'}

已打印登录信息,启动成功完成。

IDEA插件方式

首先把docker服务的远程端口打开

[root@localhost ~]# vim /usr/lib/systemd/system/docker.serviceExecStart=/usr/bin/dockerd-current -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 \[root@localhost ~]# systemctl daemon-reload[root@localhost ~]# systemctl  restart docker

其他扩展知识 docker-compose

https://blog.csdn.net/renfng/article/details/128974138

Docker实战笔记 三 Docker私有库-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/205996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣题:字符的统计-12.7

力扣题-12.7 [力扣刷题攻略] Re:从零开始的力扣刷题生活 力扣题1:467. 环绕字符串中唯一的子字符串 解题思想:记录下以字母s[i]结尾的最大的字串个数,然后统计a-z每个字母结尾的最大字串的个数进行i相加 class Solution(object…

DDD架构思想专栏一《初识领域驱动设计DDD落地》

引言 最近准备给自己之前写的项目做重构,这是一个单体架构的小项目,后端采用的是最常见的三层架构。因为项目比较简单,其实采用三层架构就完全够了。但是呢,小编最近在做DDD架构的项目,于是就先拿之前写的一个老项目试…

1319:【例6.1】排队接水

【题目描述】 有n 个人在一个水龙头前排队接水,假如每个人接水的时间为Ti ,请编程找出这n 个人排队的一种顺序,使得n 个人的平均等待时间最小。 【输入】 共两行,第一行为n(1≤n≤1000) ;第二行分别表示第1 个人到第n…

从传统到胜利:广汽集团汽车产业创新之旅

置身于汽车行业百年未有之大变局,作为传统车企中的排头兵,广汽创新可圈可点,广汽近年来取得了骄人业绩,不论是整体产销规模,还是新能源汽车产业化、新技术领域开拓等,都呈现节节攀升的局面。本文奖从产业变…

【1day】金和OA某接口存在未授权访问漏洞

注:该文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与作者无关。 目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现

Adesk::Boolean CMultiEntityEx::subWorldDraw( AcGiWorldDraw* mode )什么情况下mode 为空

Adesk::Boolean CMultiEntityEx::subWorldDraw( AcGiWorldDraw* mode )什么情况下mode 为空 在AutoCAD的ObjectARX中,subWorldDraw是一个重要的虚拟函数,它被用来将对象的图形表示传递给绘图系统。当你创建一个自定义对象时,通常需要重写这个函数以提供对象的图形描述。 s…

Java项目学生管理系统一前后端环境搭建

在现代的软件开发中,学生管理系统是一个常见的应用场景。通过学生管理系统,学校能够方便地管理学生的信息、课程安排和成绩等数据。本文将介绍如何使用Java语言搭建一个学生管理系统的前后端环境,并提供一个简单的示例。 1.环境搭建 学生管…

vue开发,axios网络请求框架基本用法和封装

axios安装 npm install axiosaxios基本用法 默认的get请求,参数用params追加,多个参数通过json对象的方式,例如params:‘{type:“home”,page:1}’ axios({url: https://api.videolog.net.cn/baidu/token,params: }).then(value > {co…

为什么选择计算机

很久以前,有一个年轻人名叫艾登。他生活在一个充满奇妙魔法的世界里,但他总觉得自己缺少一种独特的能力,一种可以创造和改变世界的力量。 一天,艾登无意中进入了一座古老的图书馆,那里充满了尘封的书籍和神秘的氛围。…

WT588F02B-8S语音芯片助力破壁机:智能声音播放提示IC引领健康生活新潮流

在追求健康饮食的时代潮流中,破壁机作为榨汁、搅拌的重要厨房电器,融入智能技术的趋势不断加强。唯创知音的WT588F02B-8S语音芯片作为声音播放提示IC,为破壁机注入了更智能、便捷的声音提示功能,引领用户迈入健康生活的新潮流。 …

入门指南:使用Prometheus监控Linux服务器

Prometheus介绍 Prometheus是一款开源的监控系统,主要用于收集、存储和查询时间序列数据,以便于对系统进行监控和分析。以下是Prometheus的架构图介绍: Prometheus的架构由四个主要组件组成: Prometheus Server(Prom…

PCL 点云最小二乘法拟合二维圆

文章目录 一、原理概述二、实现代码三、实现效果参考资料一、原理概述 二、实现代码 // 标准文件 #include <iostream>// PCL #include <pcl/io/pcd_io.h>

SVM原理理解

目录 概念推导&#xff1a; 共识&#xff1a;距离两个点集距离最大的分类直线的泛化能力更好&#xff0c;更能适应复杂数据。 怎么能让margin最大&#xff1f; 最大化margin即&#xff1a; 拉格朗日乘子法&#xff1a; 为什么公式中出现求和符号? SVM模型: 小结&#…

第59天:django学习(八)

事务 事务是MySQL数据库中得一个重要概念,事务的目的&#xff1a;为了保证多个SQL语句执行成功&#xff0c;执行失败&#xff0c;前后保持一致&#xff0c;保证数据安全。 开启事务的三个关键字 start transaction commit rollback 开启事务 from django.db import transaction…

[足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-6复数Complex Number

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-数学基础Ch0-6复数Complex Number x 2 − 2 x 2 0 ⇒ x 1 i x^2-2x20\Rightarrow x1\pm i x2−2x20⇒x1i 代数表达&#xff1a; z a b i , R e ( z ) a , I m ( z ) b zabi,\mathrm{Re}…

GO设计模式——9、过滤器模式(结构型)

目录 过滤器模式&#xff08;Filter/Criteria Pattern&#xff09; 代码实现 过滤器模式&#xff08;Filter/Criteria Pattern&#xff09; 过滤器模式&#xff08;Filter Pattern&#xff09;或标准模式&#xff08;Criteria Pattern&#xff09;是一种设计模式&#xff0c;…

【深度学习】一维数组的聚类

在学习聚类算法的过程中&#xff0c;学习到的聚类算法大部分都是针对n维的&#xff0c;针对一维数据的聚类方式较少&#xff0c;今天就来学习下如何给一维的数据进行聚类。 方案一&#xff1a;采用K-Means对一维数据聚类 Python代码如下&#xff1a; from sklearn.cluster im…

shell语言判断

目录 判断&#xff1a; shell条件测试 数值比较 文件测试 字符串比较 and和or 流程控制if&#xff1a; 单分支结构&#xff1a; 双分支结构 多分支结构 嵌套结构 调试脚本 注意&#xff1a; 测试语法&#xff1a; 模式匹配&#xff1a;case 判断&#xff1a; …

Vue 防止页面闪烁 v-cloak

v-cloak 指令&#xff1a;用于解决页面渲染的过程中&#xff0c;出现闪烁的问题。 注&#xff1a;当网速较慢&#xff0c;来不及渲染时&#xff0c;页面上就会出现源码【例如&#xff1a;{{ xxx }} 】。 语法格式&#xff1a; <template><div v-cloak>内容</d…

[python库] mistune库的基本使用

前言 mistune库是一个解析Markdown的利器&#xff0c;使用起来非常简单。当我们想要解析Markdown格式的文档时&#xff0c;只需两步就能将其转换成html格式。如下&#xff1a; import mistune mistune.html(YOUR_MARKDOWN_TEXT)安装方式也非常简单&#xff0c;dddd&#xff1…