当前位置: 首页 > news >正文

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应用程序

目录 一、背景 &#xff08;一&#xff09;引入docker的起因 &#xff08;二&#xff09;docker介绍 &#xff08;三&#xff09;Docker部署的优势 1、轻量级和可移植性 2、快速部署和扩展 3、一致性 4、版本控制 5、安全性 6、资源隔离 7、简化团队协作 8、多容器…...

三目运算符中间的表达式可以省略吗(a?:c)?

熟悉C语言的童靴对三目运算符都非常熟悉&#xff0c;a? b : c; 如果a为true&#xff0c;则整个运算符的值为b,否则为c;那么问题来了&#xff0c;三目运算符中间的表达式可以省略吗?即a? : c; 1、linux内核中出现的省略情况 本人在阅读内核代码是发现了下面的代码: preferr…...

android 彩虹进度条自定义view实现

实现一个彩虹色进度条功能&#xff0c;不说明具体用途大家应该能猜到。想找别人造的轮子&#xff0c;但是没有合适的&#xff0c;所以决定自己实现一个。 相关知识 android 自定义view LinearGradient 线性渐变 实现步骤 自定义view 自定义一个TmcView类继承View 重写两…...

免费一年SSL证书申请——建议收藏

免费一年SSL证书申请——建议收藏 获取免费一年期SSL证书其实挺简单的 准备你的网站&#xff1a; 确保你的网站已经有了域名&#xff0c;而且这个域名已经指向你的服务器。还要检查你的服务器支持HTTPS&#xff0c;也就是443端口要打开&#xff0c;这是HTTPS默认用的。 验证域…...

【docker1】指令,docker-compose,Dockerfile

文章目录 1.pull/image&#xff0c;run/ps&#xff08;进程&#xff09;&#xff0c;exec/commit2.save/load&#xff1a;docker save 镜像id&#xff0c;不是容器id3.docker-compose&#xff1a;多容器&#xff1a;宿主机&#xff08;eth0网卡&#xff09;安装docker会生成一…...

Flutter中的异步和多进程

Flutter 是一个用于创建高性能、高保真度移动应用的框架,它使用 Dart 编程语言。 在 Flutter 中,异步和多进程是两种不同的概念,用于解决不同的问题。 异步 (Asynchronous) 异步编程是一种编程范式,允许代码在等待操作完成(如网络请求、文件 I/O)时继续执行其他任务,而不…...

学习C++第二天

1.缺省参数 缺省参数的概念&#xff1a; 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时&#xff0c;如果没有指定实参则采用该形参的缺省值&#xff0c;否则使用指定的实参。 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. 加权轮询&#xff0c;Weighted Round Robin2. 最少连接…...

圈复杂度是什么?go语言调整圈复杂度举例

圈复杂度&#xff08;也称为循环复杂度或McCabe复杂度&#xff09;是衡量程序复杂性的一个指标&#xff0c;它通常与代码中的控制流结构&#xff08;如条件语句、循环和函数调用&#xff09;的数量相关。在Go语言中&#xff0c;你可以通过重构代码来降低圈复杂度&#xff0c;从…...

设计模式4-模版方法

设计模式 重构获得模式重构的关键技法1. 静态转动态2. 早绑定转晚绑定3. 继承转组合4. 编译时依赖转运行时依赖5. 紧耦合转松耦合 组件协助动机模式定义结构 要点总结。 例子示例解释&#xff1a; 重构获得模式 设计模式的目的是应对变化&#xff0c;提高复用 设计模式的要点…...

yii2 ActiveForm使用技巧

持续更新&#xff1a; 1、搜索输入框&#xff1a;form-inline <?php $form ActiveForm::begin([action > [index],method > get,options > [class > form-inline] &#xff08;增加此行代码&#xff09; ]); ?>...

【面试】基本数据类型的包装类缓存

目录 1. 说明2. Integer类分析2.1 代码块2.2 字节码2.3 分析2.4 valueOf方法 1. 说明 1.在java中&#xff0c;基本数据类型的包装类&#xff08;Integer、Byte、Character、Short、Long、Boolean&#xff09;的某些值会被缓存。2.以提高性能并减少内存使用。3.这种缓存机制是自…...

6月20日(周四)A股行情总结:A股险守3000点,恒生科技指数跌1.6%

A股三大股指走弱&#xff0c;科创板逆势上扬&#xff0c;半导体板块走强&#xff0c;多股20CM涨停。中芯国际港股涨超1%。恒生科技指数跌超1%。离岸人民币对美元汇率小幅走低&#xff0c;20日盘中最低跌至7.2874&#xff0c;创下2023年11月中旬以来的新低&#xff0c;随后收复部…...

Parallels Desktop 19 for mac破解版安装激活使用指南

Parallels Desktop 19 for Mac 乃是一款适配于 Mac 的虚拟化软件。它能让您在 Mac 计算机上同时运行多个操作系统。您可借此创建虚拟机&#xff0c;并于其中装设不同的操作系统&#xff0c;如 Windows、Linux 或 macOS。使用 Parallels Desktop 19 mac 版时&#xff0c;您可在 …...

JExcel API使用笔记

JExcel API使用笔记 JExcel是一个开源的支持excel的java类库&#xff0c;广泛利用其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跨域配置&#xf…...

Springboot项目jar加密

部署的程序进行加密&#xff0c;防止第三方非法拷贝走项目进行二次开发或部署。我们知道java代码编译后生成的以.class结尾的字节码文件或者.jar/.war结尾的可执行文件都是可以反编译生成.java文件的&#xff0c;虽然反编译后生成的.java文件和原本的.java文件有些微差别&#…...

【React】高阶组件

概述 高阶组件并非一个组件&#xff0c;而是增强组件功能的一个函数。 高阶组件的作用是对多个组件公共逻辑进行横向抽离。 高阶组件 – React (reactjs.org) 示例 ChildCom1.jsx import React from react;function ChildCom1(props) {return (<div>这是子组件1<d…...

全面理解-Flutter(万字长文,深度解析)

1、Web 性能差&#xff0c;跟原生 App 存在肉眼可见的差距&#xff1b; 2、React Native 跟 Web 相比&#xff0c;支持的能力非常有限&#xff0c;特定长场景问题&#xff0c;需要三端团队一个一个处理&#xff1b; 3、Web 浏览器的安卓碎片化严重&#xff08;感谢 X5&#x…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...