

打包docker镜像推送到远程服务器并部署到k8s
source link: https://blog.csdn.net/h2503652646/article/details/120931329
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

前提条件:
1、docker服务器已开启远程访问,参考《远程docker服务器携带证书连接》。
2、服务器上已经搭建好k8s集群,本文是k8s单点集群用于测试。
在之前的文章中我们已经通过idea的docker插件测试了远程docker服务器已经能够正常访问,虽然利用这个docker插件也可以完成docker镜像的打包及推送,但本文我们将换一种方式,使用maven的docker-maven-plugin插件完成docker镜像的打包,以及推送到远程docker服务器。
1、Dockerfile
Dockerfile文件用于将我们的应用做成docker镜像
2、pom配置
pom文件的相关配置如下,注意填入远程服务器的ip,并指明上述Dockerfile路径以及访问远程docker需要的pem证书文件的路径。
3、镜像推送
上述准备就绪以后执行install命令,等待一段时间后下方控制台出现BUILD SUCCESS则说明镜像推送成功。
接着去远程服务器验证一下,输入docker images命令查看容器镜像。
可以看到我们的应用镜像已经推送成功了,下面就是部署阶段。
4、k8s部署
如果在以前我们的部署环境只有docker容器,那么这里只需要docker run我们的应用镜像,将项目部署在docker容器就可以访问了。但现在我们的部署环境是k8s+docker,所以不能直接运行我们的应用镜像进行部署,下面进入k8s的部署。
首先需要创建两个yaml文件:practice-job-deployment.yaml、practice-job-service.yaml,至于这两个文件的作用涉及到k8s的概念,关于k8s的概念将会在之后的文章中谈到,这里只需要知道在k8s中的大部分配置都是基于yaml文件进行定义的就可以了。
vi practice-job-deployment.yaml
vi practice-job-service.yaml
然后分别执行命令:
执行命令:kubectl get pod --all-namespaces 查看pod,可以看到我们项目的pod已经成功运行。
执行命令:kubectl logs practice-job-deployment-77d685767-glvgm -n practice 查看应用运行日志。格式为:kubectl logs <pod的name> -n <pod的namespace>。
执行命令:docker ps 可以看到项目也已经运行在容器中了
执行命令:kubectl get service --all-namespaces 可以看到应用对应的服务也已启动成功且对外暴露的端口正是32001,这个端口就是我们前面在yaml文件中自己配置的。
最后浏览器访问:公网ip:32001/doc.html。此路径只是针对我的项目,不同的项目路径不同。注意防火墙需要开启相应端口。
至此应用从本地打包docker镜像推送至服务器,并部署到k8s+docker容器结束。
Recommend
-
11
在python中使用日志最常用的方式就是在控制台和文件中输出日志了,logging模块也很好的提供的相应的类,使用起来也非常方便,但是有时我们可能会有一些需求,如还需要将日志发送到远端,或者直接写入数据库,这种需求该如何实现呢? 一、StreamHandler和File...
-
17
时间序列预测库 prophet R版本 docker镜像打包
-
8
【运维系列】整合docker镜像打包 ...
-
7
将 ASP.Net Core WebApi 应用打包至 Docker 镜像 运行环境为 Windows 10 专业版 21H1, Docker Desktop 3.6.0(67351),Docker Engine 20.10.8 1. ASP.Net Core Runtime 还是 .Net Core Runtime 在这里首先要区分一下 SDK...
-
16
一只会敲代码的Sheep自己打包Docker镜像并部署Vue项目发表于2021-12-25|更新于2021-12-25|Docker,Vue字数总计:2...
-
18
在过去的几年中,"云"作为明星热词站在了各种新潮技术之中,你可能使用过,但说不清它的原理;或者是没用过,但听过它的大名;也可能连它的名字都没听过,但你对这只蓝色鲸鱼一定十分眼熟。作为一名技术人员,只要你在这个软件行业里摸爬滚打,就一定对他有不同...
-
9
如何将本地分支同时推送到多个远程分支? 2022-02-21 | 阅读:次
-
9
上文 提到 ZFile 的 Docker 镜像构建过程,不过需要手动在服务器上执行命令构建并推送,对服务器网络和配置都有一定要求。 本文来介绍如何使用 Github Acti...
-
10
Jenkins作为CI、CD的先驱者,虽然现在的风头没有Gitlab强了,但是还是老当益壮,很多中小公司还是使用比较广泛的。最近小编经历了一次Jenkins发包,感觉还不错,所以自己学习了一下。网上比较多的教程都是在Linux上搭建Jenkins,小编经过一个星期的探索终于完成了在d...
-
7
BI系统打包Docker镜像及部署的技术难度和实现 随着容器化技术盛行,Docker在前端领域也有着越来越广泛的应用;传统的前端部署方式需要我们将项目打包生成一系列的静态文件,然后上传到服务器,配置nginx文件;如果我们使用容器化部署,将部...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK