阿里云搭建docker私有镜像仓库与SpringBoot项目推送远程镜像仓库

阿里云搭建docker私有镜像仓库与SpringBoot项目推送远程镜像仓库,第1张

随着项目上容器技术的广泛应用,我也加入了Docker容器技术的学习。首先初学Docker,我的想法很简单。创建一个SpringBoot项目,如何将SpringBoot项目打包成容器镜像,然后推送至远程的Docker服务上部署。带着这个目的查阅了一些资料后,整体的实现思路如下:

环境描述:
准备一台阿里云服务器,已经完成Docker服务安装,后续将会在该服务器上进行搭建Docker私有镜像仓库。本地准备一个SpringBoot项目,至少编写一个Controller,保证本地SpringBoot项目启动后能够正常访问到Contriller。

由于私有镜像仓库是部署在阿里云上,要确保私有仓库的安全性,需要一个安全认证证书,防止发生意想不到的事情。所有需要在搭建私有仓库的Docker主机上先生成自签名证书。

生成自签名证书:
通过openssl命令先生成自签名证书,运行命令后需要填写一些证书信息。其中Common Name填写的xx96104xxx是最关键的信息,这里填写的是私有仓库的地址:
Country Name:国家
State or Province Name:州或省
Locality Name:城市
Organization Name :机构名称
Organizational Unit Name :组织单位名称
Common Name:hostname域名
Email Address:邮箱地址

页面访问:
页面访问: >

1、打开控制面板,选择并进入“程序”,双击“打开或关闭Windows服务”,在d出的窗口中选择“Internet信息服务”下面所有地选项,点击确定后,开始更新服务。

2、更新完成后,打开浏览器,输入“>

3、当web服务器搭建成功后,我们下一步所要做的就是把我们开发的网站安装到Web服务器的目录中。一般情况下,当Web服务器安装完成后,会创建路径“%系统根目录%inetpub/>

4、设置防火墙,让局域网当其它计算机也能访问本地网站资源。具体方法:打开控制面板,选择“系统和安全”,点击“允许程序通过Windows防火墙”,在d出的对话框中勾选“万维网服务>

5、在局域网中其它计算机上,打开浏览器,输入 “>

扩展资料:

入门级服务器所连的终端比较有限(通常为20台左右),况且在稳定性、可扩展性以及容错冗余性能较差,仅适用于没有大型数据库数据交换、日常工作网络流量不大,无需长期不间断开机的小型企业。

不过要说明的一点就是目前有的比较大型的服务器开发、生产厂商在后面我们要讲的企业级服务器中也划分出几个档次,其中最低档的一个企业级服务器档次就是称之为"入门级企业级服务器",这里所讲的入门级并不是与我们上面所讲的"入门级"具有相同的含义,不过这种划分的还是比较少。

还有一点就是,这种服务器一般采用Intel的专用服务器CPU芯片,是基于Intel架构(俗称"IA结构")的,当然这并不是一种硬性的标准规定,而是由于服务器的应用层次需要和价位的限制。

从零开始带您一步步搭建自己的基于java和tomcat的web服务器。总体步骤如下:

1、拉取ubuntu *** 作系统;

2、在ubuntu上安装和配置java的jdk,用的18版本,商业免费的哦

3、在ubuntu上安装和配置tomcat,用的9版

4、测试服务器是否正常,并把自己的web应用拷贝的容器中

5、把配置好的web服务器和自己的web应用打包成镜像

6、把镜像复制到其它机器上运行

你需要VMware程序,然后在计算机上安装,需要最好40G硬盘以上的空间,安装完成后,你可以:文件->新建虚拟机->典型->安装程度光盘映像文件(ISO)->"密钥,密码"->……一路确认下去就可以了。
你想做什么系统的虚拟机就需要什么系统的映像文件(ISO),还需要安装序列号。

在HP-UX下如何给根盘做磁盘镜像
注:对于HP-UX 1001 & 1010,根逻辑卷是/dev/vg00/lvol1,/dev/vg00/lvol3
(在此例中)是1020下的根逻辑卷。
8) lvlnboot -s /dev/vg00/lvol2
指定交换逻辑卷。
使用swapinfo 命令可以确定交换逻辑卷在什么地方。
9) lvlnboot -d /dev/vg00/lvol2
指定转储逻辑卷。
10) lvlnboot -b /dev/vg00/lvol1
指定引导逻辑卷(仅适用于 1020)
11) lvlnboot -R
恢复所有的 BDRA 信息
12) lvlnboot -v
确认引导、根、交换及转储设置。
13) setboot
这个命令将显示当前设置的主引导路径和替代引导路径。
14) setboot -a mirror_disk_hardware_address
将替代引导路径改为根镜像的路径。
15) shutdown -r now
关闭系统,从镜像盘启动。
系统将关闭然后重新启动,系统启动时,查找下面的信息(系统输出可能有些差异):
TO INTERRUPT THE BOOT SEQUENCE, PRESS AND HOLD ESCAPE (MODEL 700)
TO INTERRUPT THE BOOT SEQUENCE, PRESS ANY KEY (MODEL 800)
这样系统将进入引导管理显示器。在boot_admin> 提示符下键入:
bo Mirror_disk_hardware_address,例如-> bo 4/8100。在部分系统上,如果配置了替代引导设备,可以使quot;bo alt"。系统将提示与IPL 交互,回答"no",系统将从镜像根磁盘启动。

现在有几个备选方案:
1。程序移植,数据库仍统一管理。
这种方式最易实现,但存在的问题数据库必须开放internet通道,如何保证安全,是个问题。而且,访问速度是否能达到要求同样是个问题。采用***通道?速度上又不能满足。
2。程序和数据库都移植。
这种方式能实现的镜像效果最好,但实施难度较大,在国内网站中实现这种镜像的还不多。这方案还有2种不同实现方式:
21 程序不改,数据库同步
这种方式相对简单些,程序部分基本不用改动,依靠sqlserver2000的同步功能来实现数据同步。
但从我在erp项目实施中获得的经验看,这种方式看似简单,但其实问题可能最多。首先,sqlserver同样继承了microsoft的老毛病:效率不高。同步复制3G的数据这个速度我实在不乐观。其次需直接开放internet访问,如何避免安全问题,还没想好,还需要找安全专家咨询。最后,同步复制过程中如果发生网络故障,如何保证多数据源的数据完整性和一致性又是个极大的挑战。
22 平台程序改动,数据库异步复制
这种方式对程序的要求较高,网站平台架构的调整较大。等于是把网站由单站点程序转为多站点平台。这样在业务和数据一致性上都有较高要求。这种方式工作最大,难度看似也最大,但我认为这种方式最可行。首先,把程序结构按照事务划分,借助mts可实现多站点统一事务,保证数据的一致性;其次,数据采用异步复制,能避免网络中断造成的数据不完整,防止引起某些逻辑错误;最后,这种方式要求我们尽量少的访问数据库,由于负载的分担,可考虑大量的使用内存替代数据库,提高整体的访问效率。
不过,由于存在时间差,会造成镜像站点间的内容不一致的情况,我还没想好如何解决。 并且,需要开发一个事务调度程序对各镜像数据进行统一更新维护,每秒可能需要面临200次的请求,程序性能和效率会是问题,如何采用分布式我也没想好。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12680439.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存