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 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/32838.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMware虚拟机三种网络模式设置 - Bridged(桥接模式)

一、前言 由于linux目前很热门&#xff0c;越来越多的人在学习linux&#xff0c;但是买一台服务放家里来学习&#xff0c;实在是很浪费。那么如何解决这个问题&#xff1f;虚拟机软件是很好的选择&#xff0c;常用的虚拟机软件有vmware workstations和virtual box等。 在使用虚…

Seaborn:数据可视化的强大工具

文章目录 引言Seaborn的原理1. 底层结构2. 数据集成3. 图形类型 Seaborn的使用1. 安装与导入2. 数据加载与探索3. 绘制图形分布图关系图分类图 4. 图形定制5. 导出图形 结论 引言 在数据分析和科学计算领域&#xff0c;数据可视化是一个至关重要的步骤。它能够帮助我们更直观地…

基于imx6ull开发板 移植opencv4.7.0

一、概述 本章节是针对opencv-4.7.0移植到Linux系统&#xff0c;运行在正点原子-I.MX6U ALPHA开发板 上&#xff0c;详细的移植流程如下。 二、环境要求 2.1 硬件环境 正点原子-I.MX6U ALPHA开发板虚拟机&#xff1a;VMware 2.2 软件环境 Ubuntu系统要求&#xff1a;20.0…

DIVE INTO DEEP LEARNING 50-55

文章目录 50. semantic segmentation50.1 Basic concepts50.2 Major application 51. Transposed convolution51.1 Basic concepts51.2 Major role51.3 Implementation steps and application areas51.4 Transposed convolution51.5 Transposed convolution is a type of convo…

谁说串口通信波特率越高越好?

在电子世界里&#xff0c;串口通信就像是电子设备之间的“悄悄话”&#xff0c;它们通过串行数据传输来交换信息。但你知道吗&#xff1f;串口通信的波特率并不是越高越好&#xff0c;这事儿得好好聊聊。 1.什么是串口通信&#xff1f; 串口通信&#xff0c;就像它的名字一样&a…

【Python】处理 scikit-learn 中的 FutureWarning

那年夏天我和你躲在 这一大片宁静的海 直到后来我们都还在 对这个世界充满期待 今年冬天你已经不在 我的心空出了一块 很高兴遇见你 让我终究明白 回忆比真实精彩 &#x1f3b5; 王心凌《那年夏天宁静的海》 在数据科学和机器学习领域&#xff0c;scikit-…

代码随想录训练营Day37

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、动态规划基础理论 前言 今天是跟着代码随想录刷题的第37天&#xff0c;主要学习了动态规划的理论知识。 一、动态规划基础理论 动规基础 背包问题 打家劫…

代码随想录训练营Day39

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、不同路径二、不同路径2 前言 今天是跟着代码随想录刷题的第39天&#xff0c;主要是学习了不同路径和不同路径2的问题 一、不同路径 思路&#xff1a; 动态…

深度学习11-13

1.神经元的个数对结果的影响&#xff1a; &#xff08;http://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html&#xff09; &#xff08;1&#xff09;神经元3个的时候 &#xff08;2&#xff09;神经元是10个的时候 神经元个数越多&#xff0c;可能会产生…

计算机组成原理 —— 存储系统(DRAM和SRAM,ROM)

计算机组成原理 —— 存储系统&#xff08;DRAM和SRAM&#xff09; DRAM和SRAMDRAM的刷新DRAM地址复用ROM&#xff08;Read-Only Memory&#xff08;只读存储器&#xff09;&#xff09; 我们今天来看DRAM和SRAM&#xff1a; DRAM和SRAM DRAM&#xff08;动态随机存取存储器&…

展示3D模型的网站哪个好?

如果仅仅是模型展示&#xff0c;目前国内外值得推荐的无非就是那么几个&#xff0c;它们各自有不同的特点和优势&#xff1a; 1、Sketchfab&#xff1a;Sketchfab是一个知名的3D模型展示平台&#xff0c;提供了海量的模型资源和出色的3D展示效果。用户无需安装任何插件即可在线…

Spring Cloud - nacos +ubuntu环境搭建

1、安装ubuntu虚拟环境 VMware虚拟机安装Ubuntu与配置Ubuntu&#xff08;超详细教程&#xff09; 2、docker环境安装 1、apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common 2、curl -fsSL https://mirrors.ustc.edu.cn/docke…

Maven的依赖传递、依赖管理、依赖作用域

在Maven项目中通常会引入大量依赖&#xff0c;但依赖管理不当&#xff0c;会造成版本混乱冲突或者目标包臃肿。因此&#xff0c;我们以SpringBoot为例&#xff0c;从三方面探索依赖的使用规则。 1、 依赖传递 依赖是会传递的&#xff0c;依赖的依赖也会连带引入。例如在项目中…

自动驾驶仿真测试用例表格示例 ACC ELK FCW

自动驾驶仿真测试用例表格示例 测试用例概览 本测试用例表格涵盖了自动驾驶系统中多个关键功能和场景的测试&#xff0c;旨在确保系统在不同条件下的表现和稳定性。 用例编号测试项目测试描述预期结果实际结果通过/失败TC-001ACC功能测试在高速公路上启用ACC&#xff0c;测试车…

JSON介绍

一、JSON的介绍 JOSN&#xff0c;中文名&#xff0c;JS对象表示法&#xff0c;JSON就是一种特殊的字符串 是一种轻量级的数据交换格式&#xff0c;客户端和服务器端的交互&#xff0c;基本都是JSON格式。 JSON格式 { “name”: "Tom", "age" …

SCI一区级 | Matlab实现BO-Transformer-LSTM多变量时间序列预测

SCI一区级 | Matlab实现BO-Transformer-LSTM多变量时间序列预测 目录 SCI一区级 | Matlab实现BO-Transformer-LSTM多变量时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.【SCI一区级】Matlab实现BO-Transformer-LSTM多变量时间序列预测&#xff0c;贝叶斯…

力扣SQL50 超过5名学生的课

Problem: 596. 超过5名学生的课 Code select class from courses group by class having count(distinct student) > 5;

Java中常见的设计模式及应用场景

Java中常见的设计模式及应用场景 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将探讨Java中常见的设计模式及其应用场景&#xff0c;帮助大家更好地理…

Java中如何处理日期和时间?

Java中如何处理日期和时间&#xff1f; 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将探讨如何在Java中处理日期和时间&#xff0c;这是开发中非常常…

数组元素去重

1 .旧数组不重复的元素放到新数组 2 .遍历旧数组&#xff0c;拿旧数组查新数组&#xff0c;如果元素在新数组内没有出现过就添加 3 .利用 新数组.indexOf(数组元素) 如果返回-1就说明新数组里没有该元素 //封装一个 去重的函数 function unique(arr) {var newArr[];for(var …