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

今天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镜像分享暂时告一段落,后面会持续更新,敬请期待!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker快速集成minio

拉取镜像&#xff08;默认最新的&#xff09; docker pull minio/minio创建配制和数据映射文件夹&#xff08;用于将容器内的配置和数据映射到本地&#xff09; 这边的路径可以修改成自己想要的文件夹 mkdir -p /data/minio/{config,data}启动容器 (这边启动容器要保证本地映…

【大厂AI课学习笔记NO.61】环境部署的选择

主要是选择单机和分布式、生产和开发环境的规划等。 开发环境、测试环境、预发布环境和生产环境是软件开发和部署过程中常见的几个环境&#xff0c;它们各自的定义、区别、联系以及实现的关键技术如下&#xff1a; 1. 开发环境&#xff08;Development Environment&#xff09…

骨传导耳机哪个牌子好?六大选购窍门,帮你甩掉坑货!

很多用户对骨传导耳机的理解存在偏差&#xff0c;认为只要选择价格贵的、热度高的产品就能万事大吉&#xff0c;而实际却不是如此&#xff0c;要知道&#xff0c;随着骨传导耳机逐渐成为热门款式&#xff0c;目前的市场上的骨传导耳机品牌也变得五花八门&#xff0c;这其中就包…

Android MediaCodec 简明教程(五):使用 MediaCodec 编码 ByteBuffer 数据,并保存为 MP4 文件

系列文章目录 Android MediaCodec 简明教程&#xff08;一&#xff09;&#xff1a;使用 MediaCodecList 查询 Codec 信息&#xff0c;并创建 MediaCodec 编解码器Android MediaCodec 简明教程&#xff08;二&#xff09;&#xff1a;使用 MediaCodecInfo.CodecCapabilities 查…

刷题日记:面试经典 150 题 DAY3

刷题日记&#xff1a;面试经典 150 题 DAY3 274. H 指数238. 除自身以外数组的乘积380. O(1) 时间插入、删除和获取随机元素134. 加油站135. 分发糖果 274. H 指数 原题链接 274. H 指数 重要的是都明白H指数到底是是个啥。注意到如果将引用数从大到小排序&#xff0c;则对于…

每日一题-移除链表元素

&#x1f308;个人主页: 会编辑的果子君 &#x1f4ab;个人格言:“成为自己未来的主人~” 移除链表元素 以上是题目名称&#xff1a; typedef struct ListNode SListNode; struct ListNode* removeElements(struct ListNode* head, int val) {SListNode*newHead,*newTail;ne…

Matlab 机器人工具箱 例程:运动学+动力学+路径规划+可视化

文章目录 1 创建机器人2 机器人显示3 机器人示教4 机器人路径规划&#xff1a;给定关节角路径5 机器人路径规划&#xff1a;给定末端位姿&#xff0c;求关节角路径6 工作空间可视化参考链接 1 创建机器人 clc;clear;close all; deg pi/180;L1 Revolute(d, 0, a, 0, alpha, 0,…

分账系统哪个好 盘点2024年好用的四款分账系统

分账系统在现代商业活动中扮演着至关重要的角色&#xff0c;为企业提供了高效、准确的分账管理。那么&#xff0c;你知道2024年哪几款分账系统最好用呢&#xff1f;跟着小编的脚步去看看吧&#xff01; 一、商淘云 商淘云是广州商淘信息科技有限公司旗下品牌&#xff0c;它提…

CBA全明星急需改革但先不谈!不如先学学如何尊重球迷

直播吧指定地址&#xff1a;www.bjcenn.com 3月4日讯 昨晚CBA全明星正赛&#xff0c;南区明星队138-122击败北区明星队。 媒体人三土带刺更博长文总结了本次全明星&#xff0c;原文如下&#xff1a; 如何总结这次全明星&#xff1f; 又一届CBA全明星周末结束&#xff0c;关…

OSPF多进程

路由器——>选路——>参考路由表 路由表的生成&#xff1a; 直连路由直接加入 静态路由 动态路由&#xff0c;ospf&#xff1a;选择最优加入 IGP高级特性---OSPF多进程防火墙虚拟系统引流 http://t.csdnimg.cn/mTU3nhttp://t.csdnimg.cn/mTU3n 华为文档地址&#…

骨传导耳机哪个牌子好?简单6招教你选到高品质机型!

作为一名有着十几年工作经验的资深数码产品测评师&#xff0c;多年来见过太多因为选购劣质骨传导耳机而踩雷的情况&#xff0c;对此&#xff0c;我想要提醒大家的是&#xff0c;在选择骨传导耳机时不要一味地追求外观颜值、品牌知名度&#xff0c;而应该更加重视产品的专业技术…

刷题日记:面试经典 150 题 DAY4

刷题日记&#xff1a;面试经典 150 题 DAY4 42.接雨水13.罗马数字转整数12.整数转罗马数字58.最后一个单词长度14.最长公共前缀 42.接雨水 原题链接 42.接雨水 在学校的算法小学期做过&#xff0c;做法是基于一个重要的观察&#xff1a; 一列列的看&#xff0c;当前列雨水的高…

一线大厂软件测试面试题及答案解析,2024最强版...

【软件测试面试突击班】2024吃透软件测试面试最全八股文攻略教程&#xff0c;一周学完让你面试通过率提高90%&#xff01;&#xff08;自动化测试&#xff09; 1、什么是兼容性测试?兼容性测试侧重哪些方面? 参考答案: 兼容测试主要是检查软件在不同的硬件平台、软件平台上…

Java多线程——如何控制线程顺序执行,如何控制线程同时执行

目录 引出如何控制线程执行顺序&#xff1f;多个线程在某一时刻同时开始执行&#xff1f; Redis冲冲冲——缓存三兄弟&#xff1a;缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 Java多线程——如何控制线程顺序执行&#xff0c;如何控制线程同时执行 如何控制线程…

leetcode日记(36)全排列

想思路想了很久……思路对了应该会很好做。 我的思路是这样的&#xff1a;只变化前n个数字&#xff0c;不断增加n&#xff0c;由2到nums.size()&#xff0c;使用递归直到得到所有结果 代码如下&#xff1a; class Solution { public:vector<vector<int>> permut…

枚举——完美立方算法

枚举 基于逐个尝试答案的一种问题求解策略 例如&#xff1a;求小于N的最大素数 找不到一个数学公式&#xff0c;使得根据N就可以计算出这个素数 N-1是素数吗&#xff1f;N-2是素数吗&#xff1f; …… 判断N-i是否是素数的问题 转化成求小于N的全部素数&#xff08;可以用筛法…

Linux:ansible-playbook配置文件(剧本)(进阶)

Linux&#xff1a;ansible-playbook配置文件&#xff08;剧本&#xff09;_ansible-playbook -i参数-CSDN博客https://blog.csdn.net/w14768855/article/details/132579492?ops_request_misc%257B%2522request%255Fid%2522%253A%2522170930036016800215061982%2522%252C%2522s…

flutter学习(一) 安装以及配置环境

首先需要下载flutter&#xff0c;然后解压 然后配置环境变量&#xff0c;配置到bin目录就行 然后在用户变量里再配置一下&#xff08;不配置后来你就知道有多重要了&#xff09; PUB_HOSTED_URL https://pub.flutter-io.cn FLUTTER_STORAGE_BASE_URL https://storage.flut…

【CesiumJS-3】加载倾斜模型数据(3DTilest)以及修改位置

引入倾斜模型数据 // 加载3DTiles数据let tileset;try {tileset await Cesium.Cesium3DTileset.fromUrl("/api/3DTiles/b3dm_qx/tileset.json");viewer.value.scene.primitives.add(tileset); // 倾斜模型添加到场景中viewer.value.zoomTo(tileset); // 视角定位到倾…

Nano 33 BLE Sense Rev2学习第一节——环境配置

参考文档见Access Barometric Pressure Sensor Data on Nano 33 BLE Sense | Arduino Documentation 打开Arduino ide安装开发板 选择开发板 连接开发板到电脑&#xff0c;自动识别开发板端口&#xff0c;选择端口