Ubuntu环境使用docker构建并运行SpringBoot镜像

news2024/11/23 1:44:30

今天Ubuntu环境使用docker构建并运行SpringBoot镜像,看文章之前建议先查看安装流程:

Linux环境之Ubuntu安装Docker流程

一、镜像打包过程及执行

1、创建一个测试目录

mkdir javaDemo

2、springBoot的包复制到此目录下

cp demo1-0.0.1-SNAPSHOT.jar /data/app/javaDemo/

3、下载合适的JDK镜像

docker search openjdk

docker pull adoptopenjdk/openjdk11

4、javaDemo目录下创建Dockerfile 文件

vim Dockerfile

配置信息填写

FROM adoptopenjdk/openjdk11
LABEL maintainer=demo1-test

COPY demo1-0.0.1-SNAPSHOT.jar  /app.jar

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

5、构件镜像

 docker build -t java-demo:v1.0 .

成功日志

查看镜像

docker images

 6、运行镜像

docker run -d -p 8081:8081 java-demo:v1.0

7、查看启动状态

docker ps

结果

 8、测试访问

9、根据容器id查看日志

#根据容器id查看容器运行日志
docker logs CONTAINER ID
#根据容器id查看容器运行的全部日志,日志持续更新
docker logs -f CONTAINER ID

 演示

10、防火墙开放端口,如果访问不了可能是防火墙设置问题

#查看防火墙状态
systemctl status firewalld
#开启防火墙
systemctl start firewalld.service
#添加防火墙端口
firewall-cmd --zone=public --add-port=8081/tcp --permanent
#重启防火墙
systemctl restart firewalld.service
#查看所有开放的端口
firewall-cmd --list-ports
#关闭防火墙
systemctl stop firewalld.service

二、镜像保存及分享

此处我们分享在外网保存docker网站。

1、首先需要注册账号

网站:https://registry.hub.docker.com/

注册邮箱进来使用gmail 等格式的账号

2、注册完成后用账号在服务器登录

docker login

如图

 3、镜像起一个新的名,一定得加前缀,前缀是用户名

#docker tag 名字 前缀/名字

docker tag java-demo:v1.0 yindeng158/java-demo:v1.1

如图

 4、推送镜像到docker.hub仓库

docker push yindeng158/java-demo:v1.1

成功日志

 5、docker服务器查看是否推送成功

https://hub.docker.com/repositories

如图

6、镜像在其他服务器下载

首先还是先登录docker.hub仓库:docker login

7、执行常用下载命令

docker pull yindeng158/java-demo:v1.1

如图:

8、镜像导出

docker save -o /javaDemo/file.tar IMAGE1 IMAGE2 ...
docker save IMAGE1 IMAGE2 ... > /javaDemo/file.tar
#导出为压缩格式
docker save IMAGE1 IMAGE2 ... | gzip > /javaDemo/file.tar.gz

9、镜像导入

#导入本地镜像
docker load -i /javaDemo/file.tar
docker load < /javaDemo/file.tar.gz

到此、使用docker打java镜像分享暂时告一段落,后面会持续更新,敬请期待!

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

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

相关文章

【源码】imx6ull实现触摸屏单点实验-移植tslib和qt

一、本实验实验的器材&#xff1a; 1.正点原子imx6ull的阿尔法开发板v2.2 2.屏幕ALIENTEK 4.3 RGBLCD 二、实验已经移植好的文件&#xff1a; 仓库代码&#xff1a;https://gitee.com/wangyoujie11/atkboard_-linux_-driver.git 1.文件说明 arm-qt.tar.bz2&#xff1a;移植好的…

SwiftUI中Alert与ActionSheet的集成

在SwiftUI中&#xff0c;Alert和ActionSheet是两个用于显示提示信息和选项的组件。Alert用于显示简单的提示信息&#xff0c;而ActionSheet用于显示多个选项供用户选择。 要在SwiftUI中使用Alert&#xff0c;首先需要在视图中定义一个State属性来存储是否显示Alert&#xff0c…

持续集成(CICD)- gogs仓库的部署和使用

文章目录 一、gogs的介绍二、部署gog仓库三、首次启动gogs四、登录五、创建一个非空仓库六、从仓库拉取代码到本地七、把本地编辑的代码上传到仓库 一、gogs的介绍 Gogs作为一个轻量级、易于部署和使用的自托管Git服务&#xff0c;为小型团队和个人开发者提供了一个简单而强大…

QT实现Ftp客户端的三种方法及工程实例

1.Qt项目中实现的FTP传输功能的三种方式 &#xff08;1&#xff09;QFtp QFtp 是 Qt4 中专门负责 FTP 传输的类&#xff0c;包括创建目录、删除目录、删除文件、获取文件列表、上传、下载等等常规操作。 注意&#xff1a;QT5中已经移除&#xff0c;如果需要用需要自己添加QFtp…

day6 数组 嵌套循环

1&#xff1a;打印杨辉三角 91 int arr[6][6];92 int i,j0;93 for(i0;i<6;i)94 {95 for(j0;j<i;j) 96 {97 if(j0||ij)98 {99 arr[i][j]1; …

2.3 shl,shr,inc,dec,xchg,neg指令,中断int指令

汇编语言 1. shl左移指令 shl是逻辑左移指令&#xff0c;它的功能是将一个reg或内存单元中的数据向左移位&#xff1b;将最后移出的一位写入cf中&#xff1b;最低位用0补充shl&#xff1a;shift left例如&#xff1a;0100 1000b 往左移一位&#xff0c;变成10010000b&#xf…

Vue.js中的diff算法:让虚拟DOM更高效

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

C++ Primer Plus Sixth Edition - 下载电子书与源代码

C Primer Plus Sixth Edition - 下载电子书与源代码 1. C Primer Plus, 6th Edition1.1. Download the source code files1.2. 下载源代码文件 2. C Primer Plus, Sixth Edition (PDF)3. Table of ContentsReferences 1. C Primer Plus, 6th Edition C Primer Plus, 6th Editi…

xss.haozi.me:0x02

"><script>alert(1)</script> 这样就成功了

07. Nginx进阶-Nginx负载均衡

简介 负载均衡 什么是负载均衡&#xff1f; 负载均衡&#xff0c;英文名称为Load Balance&#xff0c;其含义就是指将负载&#xff08;工作任务&#xff09;进行平衡、分摊到多个操作单元上进行运行。 Nginx负载均衡 什么是Nginx负载均衡&#xff1f; Nginx负载均衡可以大…

redis07 持久化(RDB、AOF)

思维草图 redis持久化认识 Redis是一个基于内存的数据库&#xff0c;它的数据是存放在内存中&#xff0c;内存有个问题就是关闭服务或者断电会丢失。 Redis的数据也支持写到硬盘中&#xff0c;这个过程就叫做持久化。 Redis提供了2种不同形式的持久化方式。 RDB&#xff08…

安全团队官网介绍页源码

安全团队官网介绍页源码&#xff0c;源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面 下载地址 https://www.qqmu.com/2383.html

Unity 角色控制(初版)

角色控制器组件&#xff0c;当然是将组件放在角色上了。 using System.Collections; using System.Collections.Generic; using UnityEngine;public class c1 : MonoBehaviour {// 获取角色控制器private CharacterController player;void Start(){// 加载角色控制器player …

【自然语言处理六-最重要的模型-transformer-下】

自然语言处理六-最重要的模型-transformer-下 transformer decoderMasked multi-head attentionencoder和decoder的连接部分-cross attentiondecoder的输出AT(Autoregresssive)NAT transformer decoder 今天接上一篇文章讲的encoder 自然语言处理六-最重要的模型-transformer-…

红黑树的简单介绍

红黑树 红黑树的概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保没有一条路径会比其他路径长出俩倍&#x…

爬虫案例二

第一步电影天堂_免费在线观看_迅雷电影下载_电影天堂网 (dytt28.com)电影天堂_电影下载_高清首发 (dytt89.com)电影天堂_免费在线观看_迅雷电影下载_电影天堂网 (dytt28.com) 打开这个网站 我直接打开 requests.exceptions.SSLError: HTTPSConnectionPool(hostwww.dytt28.com…

99.qt qml-单例程序实现

在之前讲过: 58.qt quick-qml系统托盘实现https://nuoqian.blog.csdn.net/article/details/121855993 由于,该示例只是简单讲解了系统托盘实现,并没有实现单例程序,所以多次打开后就会出现多个exe出现的可能,本章出一章QML单例程序实现, 多次打开始终只显示出第一个打开…

论文阅读:2022Decoupled Knowledge Distillation解耦知识蒸馏

SOTA的蒸馏方法往往是基于feature蒸馏的&#xff0c;而基于logit蒸馏的研究被忽视了。为了找到一个新的切入点去分析并提高logit蒸馏&#xff0c;我们将传统的KD分成了两个部分&#xff1a;TCKD和NCKD。实验表明&#xff1a;TCKD在传递和样本难度有关的知识&#xff0c;同时NCK…

【RT-DETR有效改进】全新的SOATA轻量化下采样操作ADown(轻量又涨点,附手撕结构图)

一、本文介绍 本文给大家带来的改进机制是利用2024/02/21号最新发布的YOLOv9其中提出的ADown模块来改进我们的Conv模块&#xff0c;其中YOLOv9针对于这个模块并没有介绍&#xff0c;只是在其项目文件中用到了&#xff0c;我将其整理出来用于我们的YOLOv8的项目&#xff0c;经…

动态之美:Motion 5特效,让视频栩栩如生 mac版

Motion 5&#xff0c;一款强大的视频后期特效软件&#xff0c;凭借其丰富的功能和出色的性能&#xff0c;成为了众多影视制作人员的首 选工具。它不仅能够满足专业级影视制作的需求&#xff0c;也适合初学者探索和实践视频特效的魅力。 Motion 5软件获取 Motion 5拥有丰富多样…