Linux应用系统快速部署:docker快速部署linux应用程序
目录
一、背景
(一)引入docker的起因
(二)docker介绍
(三)Docker部署的优势
1、轻量级和可移植性
2、快速部署和扩展
3、一致性
4、版本控制
5、安全性
6、资源隔离
7、简化团队协作
8、多容器并行
9、易于管理和监控
二、部署过程
(一)安装docker并设置开机启动
(二)导入docker镜像
1、将平台的docker部署包放到环境中解压并导入镜像
2、导入完成后查看镜像
(三)启动镜像
1、使用命令启动镜像
2、检查容器是否正常启动
3、查看服务端口是否正常启动
三、部署验证
一、背景
(一)引入docker的起因
在给客户部署视频监控接入平台的过程中,有时客户提供的环境中有其他服务正在运行,有时候linux的系统环境比较杂乱,这是就可以使用docker来部署平台,在部署的同时又不会影响到客户现有的环境。
(二)docker介绍
Docker是一个开源的应用容器引擎,它允许开发者以统一的方式打包应用程序及其依赖包到一个可移植的容器中,然后发布到任何安装了Docker引擎的服务器上。
Docker的核心思想是容器化,通过将应用程序及其依赖项打包成一个容器,使得应用程序在不同的环境中都能够快速可靠地部署和运行。这种容器化技术可以大大简化应用程序的部署和管理,提高应用程序的可移植性和安全性。使用Docker可以轻松地构建、运行和管理容器化的应用程序。
(三)Docker部署的优势
Docker部署带来了优势,使Docker成为现代软件开发和运维中不可或缺的工具,具体包括如下:
1、轻量级和可移植性
(1)Docker容器是基于镜像的,这些镜像包含了应用程序及其所有依赖项,使得应用程序可以在任何Docker环境中运行,无需担心依赖项冲突或缺失。
(2)容器是轻量级的,因为它们共享宿主机的内核,相比于虚拟机,它们需要更少的资源。
2、快速部署和扩展
(1)使用Docker,开发人员可以构建一次镜像,并在多个环境中运行它,从而加快部署速度。
(2)Docker的容器化架构使得水平扩展变得简单,只需启动更多的容器实例即可。
3、一致性
(1)Docker通过确保应用程序在所有环境中的运行方式相同,从而提高了开发、测试和生产环境之间的一致性。
(2)容器化还允许开发人员在不同的机器上获得相同的开发环境,减少了“在我的机器上运行正常”的问题。
4、版本控制
(1)Docker镜像可以被版本化和标记,使得回滚到以前的版本变得简单。
(2)通过使用Docker Hub或其他容器仓库,开发人员可以轻松地共享和管理镜像。
5、安全性
(1)Docker提供了隔离性,确保容器内的应用程序不会影响到宿主机或其他容器。
(2)通过使用安全的镜像构建过程、最小权限原则和内容信任,Docker可以进一步提高安全性。
6、资源隔离
(1)Docker容器有自己的文件系统、网络栈和进程空间,这使得它们之间的隔离性很强。
(2)这种隔离性使得容器更加安全,并且可以防止一个容器中的恶意软件或错误影响到其他容器或宿主机。
7、简化团队协作
(1)Docker允许开发人员使用相同的工具集和相同的配置来构建、测试和部署应用程序,从而简化了团队协作。
(2)开发人员可以轻松地分享他们的开发环境,使得其他人能够更容易地理解和修改代码。
8、多容器并行
Docker允许在同一台机器上运行多个容器,每个容器都像一个独立的虚拟机。这使得在单个物理或虚拟服务器上实现多租户成为可能。
9、易于管理和监控
Docker提供了丰富的工具和API来管理和监控容器,使得运维人员可以轻松地查看容器的状态、日志和资源使用情况。
二、部署过程
(一)安装docker并设置开机启动
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
(二)导入docker镜像
1、将平台的docker部署包放到环境中解压并导入镜像
docker load < jiangkong-test.tar
2、导入完成后查看镜像
docker images
实际操作结果如下:

(三)启动镜像
1、使用命令启动镜像
[root@ecs-52a1 home]#
[root@ecs-52a1 home]#
[root@ecs-52a1 home]#
[root@ecs-52a1 home]#
[root@ecs-52a1 home]#/usr/bin/docker run -it -d --net=host --privileged=true --name jiankong-test jiangkong-test:v1 /sbin/init
其中参数含义如下:
--net=host表示容器将会使用宿主机的IP和端口
--privileged=true 特权模式,在容器中获得更高的系统权限,用于修改一些系统参数
2、检查容器是否正常启动
docker ps
实际操作结果如下:

3、查看服务端口是否正常启动
netstat -lntup|grep 26089
netstat -lntup|grep 26088
实际操作结果如下:

三、部署验证
部署完成后,通过web客户端访问,可以查看实时视频,如下:

功能正常,通过容器部署成功,docker快速部署应用系统完成。
文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。
相关文章:
Linux应用系统快速部署:docker快速部署linux应用程序
目录 一、背景 (一)引入docker的起因 (二)docker介绍 (三)Docker部署的优势 1、轻量级和可移植性 2、快速部署和扩展 3、一致性 4、版本控制 5、安全性 6、资源隔离 7、简化团队协作 8、多容器…...
三目运算符中间的表达式可以省略吗(a?:c)?
熟悉C语言的童靴对三目运算符都非常熟悉,a? b : c; 如果a为true,则整个运算符的值为b,否则为c;那么问题来了,三目运算符中间的表达式可以省略吗?即a? : c; 1、linux内核中出现的省略情况 本人在阅读内核代码是发现了下面的代码: preferr…...
android 彩虹进度条自定义view实现
实现一个彩虹色进度条功能,不说明具体用途大家应该能猜到。想找别人造的轮子,但是没有合适的,所以决定自己实现一个。 相关知识 android 自定义view LinearGradient 线性渐变 实现步骤 自定义view 自定义一个TmcView类继承View 重写两…...
免费一年SSL证书申请——建议收藏
免费一年SSL证书申请——建议收藏 获取免费一年期SSL证书其实挺简单的 准备你的网站: 确保你的网站已经有了域名,而且这个域名已经指向你的服务器。还要检查你的服务器支持HTTPS,也就是443端口要打开,这是HTTPS默认用的。 验证域…...
【docker1】指令,docker-compose,Dockerfile
文章目录 1.pull/image,run/ps(进程),exec/commit2.save/load:docker save 镜像id,不是容器id3.docker-compose:多容器:宿主机(eth0网卡)安装docker会生成一…...
Flutter中的异步和多进程
Flutter 是一个用于创建高性能、高保真度移动应用的框架,它使用 Dart 编程语言。 在 Flutter 中,异步和多进程是两种不同的概念,用于解决不同的问题。 异步 (Asynchronous) 异步编程是一种编程范式,允许代码在等待操作完成(如网络请求、文件 I/O)时继续执行其他任务,而不…...
学习C++第二天
1.缺省参数 缺省参数的概念: 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参。 void show(int a 10) {cout << a << endl; }int main() {sho…...
解析Java中1000个常用类:AbstractSet类,你学会了吗?
推荐一个我自己写的小报童专栏导航网站: http://xbt100.top 收录了生财有术项目精选、AI海外赚钱、纯银的产品分析等专栏,陆续会收录更多的专栏,欢迎体验~复制URL可直达。 以下是正文。 在 Java 集合框架中,AbstractSet 是一个重要的抽象类,为实现自定义的集合(Set)提…...
Nginx基础概念和常用操作
文章目录 1. 安装、启动、连接2. 快速尝试部署网站3. 配置文件1. nginx.conf全局配置事件模块HTTP 模块性能优化建议 2. default.confserver 块基本设置日志设置根路径设置 4. 反向代理1. 模拟3个Web2. 链接 5. 负载均衡1. 加权轮询,Weighted Round Robin2. 最少连接…...
圈复杂度是什么?go语言调整圈复杂度举例
圈复杂度(也称为循环复杂度或McCabe复杂度)是衡量程序复杂性的一个指标,它通常与代码中的控制流结构(如条件语句、循环和函数调用)的数量相关。在Go语言中,你可以通过重构代码来降低圈复杂度,从…...
设计模式4-模版方法
设计模式 重构获得模式重构的关键技法1. 静态转动态2. 早绑定转晚绑定3. 继承转组合4. 编译时依赖转运行时依赖5. 紧耦合转松耦合 组件协助动机模式定义结构 要点总结。 例子示例解释: 重构获得模式 设计模式的目的是应对变化,提高复用 设计模式的要点…...
yii2 ActiveForm使用技巧
持续更新: 1、搜索输入框:form-inline <?php $form ActiveForm::begin([action > [index],method > get,options > [class > form-inline] (增加此行代码) ]); ?>...
【面试】基本数据类型的包装类缓存
目录 1. 说明2. Integer类分析2.1 代码块2.2 字节码2.3 分析2.4 valueOf方法 1. 说明 1.在java中,基本数据类型的包装类(Integer、Byte、Character、Short、Long、Boolean)的某些值会被缓存。2.以提高性能并减少内存使用。3.这种缓存机制是自…...
6月20日(周四)A股行情总结:A股险守3000点,恒生科技指数跌1.6%
A股三大股指走弱,科创板逆势上扬,半导体板块走强,多股20CM涨停。中芯国际港股涨超1%。恒生科技指数跌超1%。离岸人民币对美元汇率小幅走低,20日盘中最低跌至7.2874,创下2023年11月中旬以来的新低,随后收复部…...
Parallels Desktop 19 for mac破解版安装激活使用指南
Parallels Desktop 19 for Mac 乃是一款适配于 Mac 的虚拟化软件。它能让您在 Mac 计算机上同时运行多个操作系统。您可借此创建虚拟机,并于其中装设不同的操作系统,如 Windows、Linux 或 macOS。使用 Parallels Desktop 19 mac 版时,您可在 …...
JExcel API使用笔记
JExcel API使用笔记 JExcel是一个开源的支持excel的java类库,广泛利用其api来生成excel报表 API基本使用 1.创建excel文件 workbook Workbook.createWorkbook(file);//传入file文件2.创建sheet页 WritableSheet sheet workbook.createSheet("记录表&quo…...
springCloudAlibaba之分布式网关组件---gateway
gateway-网关 网关spring cloud gatewaygateway初体验gateway整合nacos简写方式 内置路由断言工厂内置断言工厂 自定义路由断言工厂自定义路由工厂 内置/自定义过滤器典型内置过滤器自定义过滤器 全局过滤器自定义全局过滤器 请求日志记录&跨域处理Gateway跨域配置…...
Springboot项目jar加密
部署的程序进行加密,防止第三方非法拷贝走项目进行二次开发或部署。我们知道java代码编译后生成的以.class结尾的字节码文件或者.jar/.war结尾的可执行文件都是可以反编译生成.java文件的,虽然反编译后生成的.java文件和原本的.java文件有些微差别&#…...
【React】高阶组件
概述 高阶组件并非一个组件,而是增强组件功能的一个函数。 高阶组件的作用是对多个组件公共逻辑进行横向抽离。 高阶组件 – React (reactjs.org) 示例 ChildCom1.jsx import React from react;function ChildCom1(props) {return (<div>这是子组件1<d…...
全面理解-Flutter(万字长文,深度解析)
1、Web 性能差,跟原生 App 存在肉眼可见的差距; 2、React Native 跟 Web 相比,支持的能力非常有限,特定长场景问题,需要三端团队一个一个处理; 3、Web 浏览器的安卓碎片化严重(感谢 X5&#x…...
Local AI MusicGen创意展示:由‘neon lights vibe’触发的都市夜景音乐
Local AI MusicGen创意展示:由‘neon lights vibe’触发的都市夜景音乐 1. 引言:当AI遇见音乐创作 你有没有想过,用一段简单的文字描述就能生成一段专属的背景音乐?Local AI MusicGen让这个想法变成了现实。这是一个基于Meta Mu…...
LM358充电器电路设计:从原理到实践
1. LM358芯片基础解析 LM358这颗双运放芯片可以说是电子设计领域的"万金油"了。我第一次接触它是在大学电子竞赛时,老师随手扔给我们几片说:"用这个,不容易烧。"果然,从5V到32V的宽电压范围让它成为新手最友好…...
HDMI接口没声音?手把手教你用InfoFrame调试音频流(附Audio InfoFrame解析)
HDMI音频调试实战:用Audio InfoFrame精准定位无声问题 当4K显示器亮起而音响沉默时,工程师的调试噩梦就开始了。上周在调试一块定制开发板时,HDMI视频输出完美,但音频系统始终沉默——这不是简单的"线材接触不良"能解释…...
Java网络协议解析核心源码剖析(Netty+Spring Boot双栈实测):从Raw Socket到自动反序列化全链路解密
第一章:Java网络协议解析核心源码剖析(NettySpring Boot双栈实测):从Raw Socket到自动反序列化全链路解密Java 网络通信的底层能力并非止步于 Spring Boot 的 RestController 抽象层——其真实脉搏深埋于 Netty 的 ChannelPipelin…...
SEO和PPC广告之间的关系是什么_如何通过定期分析优化网站的SEO表现
SEO和PPC广告之间的关系是什么_如何通过定期分析优化网站的SEO表现 在当今的数字营销环境中,网站的SEO(搜索引擎优化)和PPC(负责付费广告)广告是两种重要的推广工具。了解它们之间的关系,并通过定期分析优…...
AI命理推理实测:用专业数据集验证大模型命理能力
提到AI命理相关的评测,就不得不说之前看到的,我们团队最近也沿着这个方向做了针对性测试,不是网上那种随便给大模型发个prompt就喊“准到离谱”的营销玩法,而是用有标准答案的盲测来验证AI命理推理的真实水平。 我们的评测是怎么…...
OpenClaw定时任务管理:千问3.5-27B驱动日报自动生成
OpenClaw定时任务管理:千问3.5-27B驱动日报自动生成 1. 为什么需要自动化日报 每周五下午,我都会陷入一种"汇报焦虑"——要手动整理GitHub提交记录、汇总JIRA任务进度、编写本周技术总结。这个过程通常要花费1-2小时,而且内容模板…...
能源在线监测管理系统平台[fu源码]
EMS能源管理系统 基于 Vue3 / Spring Boot/Spring Cloud & Alibaba 微服务架构 项目技术框架 RuoYi-Cloud 基础框架上开发而成 源智优控AI能源大脑,能源AI版,即将上线 仓库地址: https://gitee.com/guangdong122/energy-management …...
电商网站SEO网站结构应该如何设计
电商网站SEO网站结构设计的关键点 在当今数字化时代,电商网站的成功离不开搜索引擎优化(SEO)。一个精心设计的网站结构不仅能提升网站的用户体验,还能大大提高在搜索引擎上的排名。电商网站SEO网站结构应该如何设计呢?…...
LCC-HVDC系统中交流滤波器的选型实战:从理论到工程落地
LCC-HVDC系统中交流滤波器的选型实战:从理论到工程落地 在特高压直流输电工程中,交流滤波器如同电力系统的"净化器",其选型直接关系到电网谐波抑制效果与系统运行经济性。某800kV换流站曾因滤波器选型不当导致年度损耗增加1200万元…...
