已经上线的springboot项目,如何做到不停机更新?

第一种:Nginx 版本
针对一般的单体应用,通过 Nginx 切换端口可以做到平滑无感知的更新。 大致的步骤是这样的:
1、打一个新的 jar 包,端口号和之前旧的不同。
2、运行新的 jar 包(注意旧的和新的同时在运行)。
3、在 Nginx 配置中把域名转发到新的端口上。
4、确认转发无误后关闭旧的 jar 包。 这主要是利用了 Nginx 的无感知重载配置文件的功能,只需要 reload 一下就可以实现无缝切换。

Read More

Ubuntu安装Docker

准备工作

系统要求

Docker 支持以下版本的 Ubuntu 操作系统:

  • Ubuntu Hirsute 21.04
  • Ubuntu Groovy 20.10
  • Ubuntu Focal 20.04 (LTS)
  • Ubuntu Bionic 18.04 (LTS)

Docker 可以安装在 64 位的 x86 平台或 ARM 平台上。Ubuntu 发行版中,LTS(Long-Term-Support)长期支持版本,会获得 5 年的升级维护支持,这样的版本会更稳定,因此在生产环境中推荐使用 LTS 版本。

Read More

Dockerfile 最佳实践

一、Dockerfile 简介

Docker 镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么之前提及的无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。这个脚本就是 Dockerfile。

Dockerfile 是一个文本文件,其内包含了一条条的 指令(Instruction) ,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。

Read More

Docker 快速入门

一、Docker 的简介

什么是 Docker

Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。

它是目前最流行的 Linux 容器解决方案。

Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。

总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

Read More