Dockerfile构建SpringBoot镜像并推送到docker公共镜像仓库Docker-hub

在这里插入图片描述

💅 写在前面

前期准备工作主要有:准备好必要的环境,确保安装了docker,以及有一个Spring boot项目。

tips:本文所有操作均在宿主机上的 VMware (centos 7)中进行.

😽 使用Dockerfile构建SpringBoot镜像

⭐️ 1.新建一个文件夹
mkdir /yicheng/passwordGenerator/
⭐️ 2.把Spring boot项目打包成jar放在此目录下,并且新建文件Dockerfile
# 使用Java8
FROM java:8
# 作者
MAINTAINER yicheng
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名
ADD passwordGenerator-0.0.1-SNAPSHOT.jar pwdGenerator_docker.jar
# 运行jar包
RUN bash -c 'touch /pwdGenerator_docker.jar'
ENTRYPOINT ["java","-jar","/pwdGenerator_docker.jar"]
#暴露8889端口作为微服务
EXPOSE 8999
[root@localhost passwordGenerator]# ls
Dockerfile  passwordGenerator-0.0.1-SNAPSHOT.jar
⭐️ 3.开始构建镜像
docker build -t pwdgenerator_docker:1.0 .

主要镜像名不能大写!

⭐️ 4.运行镜像
 docker run -d -p 8080:8080 【容器id】
[root@localhost passwordGenerator]# docker images
REPOSITORY            TAG            IMAGE ID       CREATED          SIZE
<none>                <none>         7d229f7ebdd4   33 minutes ago   680MB
pwdgenerator_docker   1.0            e6c6bbfe9344   33 minutes ago   680MB
neosmemo/memos        latest         322df040d768   11 days ago      36MB
tomcat                latest         6dd589e60602   6 months ago     474MB
dataengine_docker     1.0            3080d43f20c2   8 months ago     853MB
mysql                 5.7            3147495b3a5c   9 months ago     431MB
nacos/nacos-server    1.4.2          938169b118c7   24 months ago    956MB
portainer/portainer   latest         980323c8eb3f   2 years ago      196MB
redis                 5.0.9-alpine   4e5490070cce   2 years ago      29.2MB
redis                 6.0.8          16ecd2772934   2 years ago      104MB
java                  8              d23bdf5b1b1b   6 years ago      643MB
[root@localhost passwordGenerator]#
[root@localhost passwordGenerator]# docker run -d -p 8999:8999 7d229f7ebdd4

伊成博客

到此我们完成了第一个小目标,使用Dockerfile构建SpringBoot镜像并且成功的运行了。

👉 发布镜像到Docker-hub

⭐️ 1.访问 https://hub.docker.com 注册账号,这里的用户名和密码一定要记住了,后续需要。
⭐️ 2.登录docker-hub,输入用户名和密码
[root@localhost passwordGenerator]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to                                                                       create one.
Username: 输入你的用户名
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
⭐️ 3.提交镜像至Docker-hub

命令:

docker push <hub-user>/<repo-name> :<tag>
[root@localhost passwordGenerator]# docker push yicheng2023/pwdgenerator:1.0
The push refers to repository [docker.io/yicheng2023/pwdgenerator]
f6462cee0153: Pushed
dd456a172e38: Pushed
35c20f26d188: Mounted from library/java
c3fe59dd9556: Mounted from library/java
6ed1a81ba5b6: Mounted from library/java
a3483ce177ce: Mounted from library/java
ce6c8756685b: Mounted from library/java
30339f20ced0: Mounted from library/java
0eb22bfb707d: Mounted from library/java
a2ae92ffcd29: Mounted from library/java
1.0: digest: sha256:273386989c0f4cf97842dc0cf3187ab2788564528cd642cbd11159c6693636fc size: 2424

伊成博客

到此就完成了将镜像推送到Docker-hub公共仓库的所有步骤。


The end.

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

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

相关文章

基于Spring Boot + Vue3实现的在线商品竞拍管理系统源码+文档

前言 基于Spring Boot Vue3实现的在线商品竞拍管理系统是一种现代化的前后端分离架构的应用程序&#xff0c;它结合了Java后端框架Spring Boot和JavaScript前端框架Vue.js的最新版本&#xff08;Vue 3&#xff09;。该系统允许用户在线参与商品竞拍&#xff0c;并提供管理后台…

一文大白话讲清楚CSS盒子模型和块级格式化上下文(BFC)

一文大白话讲清楚CSS盒子模型和块级格式化上下文&#xff08;BFC&#xff09; 1.啥是个CSS盒子 鞋盒你家总有吧&#xff0c;方方正正&#xff0c;有长度有高度。css盒子跟这个八九不离十当我们编写html页面时&#xff0c;写了很多的元素&#xff0c;比如"div",&quo…

【VulnOSv2靶场渗透】

文章目录 一、基础信息 二、信息收集 三、漏洞探测 四、提权 一、基础信息 Kali IP: 192.168.20.146 靶机IP&#xff1a;192.168.20.152 二、信息收集 nmap -sS -sV -p- -A 192.168.20.152 开放了22、80、6667等端口 22端口&#xff1a;openssh 6.6.1p1 80端口&…

java项目中使用swagger生成接口文档

1、导入依赖 <!-- swagger2 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>io.springfox<…

【潜意识Java】深入详细理解分析Java中的toString()方法重写完整笔记总结,超级详细。

目录 一、toString() 方法是啥&#xff1f; &#xff08;一&#xff09;默认的 toString() 方法 &#xff08;二&#xff09;toString() 方法的作用 二、为啥要重写 toString() 方法&#xff1f; &#xff08;一&#xff09;提高代码的可读性 &#xff08;二&#xff09;…

AWS Certified AI Practitioner 自学考试心得

学习目标&#xff1a; 考取 AWS Certified AI Practitioner 那什么是 AWS Certified AI Practitioner 认证 是基础级的认证 比较简单 — 学习内容&#xff1a; 1. AWS网站自学网站 极客时间免费课程&#xff1a;http://gk.link/a/12sJL 配合极客时间课程的章节测试检验自…

Python 爬虫

一、创建项目 1.双击打开pycharm&#xff0c;点击新建项目 2.项目设置- 勾选[继承全局站点软件包]- 勾选[可用于所有项目]- 取消勾选[创建main.py欢迎脚本]- 点击创建 3.项目名称右键--新建--python文件 4.输入文件名--回车二、编辑代码 # 导入请求模块 import requests # 如…

瑞芯微全新芯片平台RK3506优势详解,高集成低功耗,为工业而生 触觉智能测评

RK3506是瑞芯微Rockchip在2024年第四季度全新推出的Arm嵌入式芯片平台&#xff0c;三核Cortex-A7单核Cortex-M0多核异构设计&#xff0c;CPU频率达1.5Ghz, M0 MCU为200Mhz。 而RK3506芯片平台下的工业级芯片型号RK3506J&#xff0c;具备-40-85℃的工业宽温性能、发热量小&#…

HarmonyOS NEXT应用开发实战:一分钟写一个网络接口,JsonFormat插件推荐

在开发鸿蒙操作系统应用时&#xff0c;网络接口的实现往往是一个繁琐且重复的过程。为了提高开发效率&#xff0c;坚果派(nutpi.net)特别推出了一个非常实用的插件——JsonFormat。这款插件的主要功能是将JSON格式的数据直接转换为arkts的结构定义&#xff0c;让我们在编写接口…

Unity-Editor扩展显示文件夹大小修复版 FileCapacity.cs

实战中是这样的,大项目, 容易定位美术大资产 (原版的代码有问题,每次点运行都会卡顿,大项目20S) //但其实获整个项目内容,1G都没有,有够省的(10年前的中型项目,一直有出DLC) using System; using System.Collections; using System.Collections.Generic; using Sy…

LLM 应在时间序列和语言交叉领域的其他任务应用

Are Language Models Actually Useful for Time Series Forecasting? OneFitsAll、Time - LLM、LLaTA “Are Language Models Actually Useful for Time Series Forecasting?” 探讨了语言模型在时间序列预测中的应用效果。研究通过对三种基于 LLM 的预测方法进行消融实验,…

链路聚合

链路聚合 目的&#xff1a;备份链路以及提高链路带宽。 链路聚合技术&#xff08;Eth-Trunk&#xff09;&#xff1a;将多个物理接口捆绑成一个逻辑接口&#xff0c;将N条物理链路逻辑上聚合为一条逻辑链路。 正常情况下&#xff0c;想要配置链路聚合 1、A设备通过多条链路连接…

IDEA设置作者信息 日期等

file -> setting 或 ctrl alt s找到如下 然后添加注释即可 可以直接编辑5处的文字&#xff0c;在 author 后放自己的名字即可 /*** author 你的名字* date ${DATE} ${TIME})*/当然 整体不止这些 &#xff0c;看下面的描述中&#xff0c;还有很多其他选项 也可以 4 这…

Lumos学习王佩丰Excel第二十三讲:饼图美化与PPT图表

一、双坐标柱形图的补充知识 1、主次坐标设置 2、主次坐标柱形避让&#xff08;通过增加两个系列&#xff0c;挤压使得两个柱形挨在一起&#xff09; 增加两个系列 将一个系列设置成主坐标轴&#xff0c;另一个设成次坐标轴 调整系列位置 二、饼图美化 1、饼图美化常见设置 …

五、CentOS7/CentOS8安装APISIX(1)

目录 &#x1f33b;&#x1f33b; 一、 Apache APISIX介绍1.1 什么是Apache APISIX1.2 APISIX架构1.3 Apache APISIX 的技术优势1.4 APISIX‌应用场景 二、APISIX快速开始2.1 centos7/centos8安装APISIX 一、 Apache APISIX介绍 1.1 什么是Apache APISIX Apache APISIX 是一个…

SpringBoot(Ⅱ-2)——,SpringBoot版本控制,自动装配原理补充(源码),自动导包原理补充(源码),run方法

SpringBoot的版本控制是怎么做的 starter版本控制 SpringBoot的核心父依赖&#xff0c;下面导入的所有starter依赖都不需要指定版本&#xff0c;版本默认和spring-boot-starter-parent的parent版本一致&#xff1b; xxxstarter内部jar包依赖的版本管理&#xff0c;starter自…

数据结构-map和set

一&#xff0c;二叉搜索树 搜索树的特点&#xff1a; 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值 。若它的右子树不为空&#xff0c;则右子树上所有节点的值都大于根节点的值 。它的左右子树也分别为二叉搜索树 实现一棵搜索树&#xff08;链式…

JavaScript甘特图 dhtmlx-gantt

背景 需求是在后台中&#xff0c;需要用甘特图去展示管理任务相关视图&#xff0c;并且不用依赖vue&#xff0c;兼容JavaScript原生开发。最终使用dhtmlx-gantt&#xff0c;一个半开源的库&#xff0c;基础功能免费&#xff0c;更多功能付费。 甘特图需求如图&#xff1a; 调…

SQLite本地数据库的简介和适用场景——集成SpringBoot的图文说明

前言&#xff1a;现在项目普遍使用的数据库都是MySQL&#xff0c;而有些项目实际上使用SQLite既足矣。在一些特定的项目中&#xff0c;要比MySQL更适用。 这一篇文章简单的介绍一下SQLite&#xff0c;对比MySQL的优缺点、以及适用的项目类型和集成SpringBoot。 1. SQLite 简介 …

python编译环境安装

一、安装pycharm 下载pycharm-professional-2022.2.5.exe, 根据网上找的破解安装方法进行安装&#xff0c;然后激活。 二、安装python 启动pycharm创建第一个工程时会要求选择python解释器版本&#xff0c;并自动安装。默认安装路径为&#xff1a; C:\Users\Administrator\…