liu 发布的文章

目前国内主流的低代码开发平台有:宜搭、简道云、明道云、云程、氚云、伙伴云、道一云、JEPaaS、华炎魔方、搭搭云、JeecgBoot 、RuoYi等。这些平台各有优劣势,定位也不同,用户可以根据自己需求选择。


一、宜搭

宜搭是阿里巴巴集团在2019年3月公测的面向业务开发者的零代码业务应用搭建平台。开发者可以通过可视化开发单据页面、流程页面、报表页面、展示页面、外部链接页面,将这些页面组合在一起形成轻应用,一键发布到PC和手机端。宜搭在2018年在阿里巴巴集团内部发布,阿里作为首个种子用户,到目前为止已有上万个应用在上面使用。 在2019年9月宜搭也发布了升级版宜搭Plus,在单据、流程、报表等方面都进行了全面升级,成为一款面向ISV开发者的低代码开发平台,能够满足企业复杂业务管理系统开发所需的数据建模、逻辑&服务编排、专业UI页面设计等需求。

优势:大厂产品,用户体验较好,开发简单应用较为便捷,定位阿里生态,发展较快。

劣势:只能线上用,不能私有化部署,不交付源代码,价格较高。


二、简道云

简道云发布至今快五年了,已经算是市面上发展比较久的产品了,它由国内专业的大数据BI和分析平台厂商——南京帆软软件有限公司(以下简称“帆软”)孵化而来,在数据分析方面具有天然的优势。 简道云与帆软旗下报表、BI等其他产品定位有所不同,简道云致力于帮助非技术人员快速搭建企业应用,无需使用编码,即可搭建销售、OA办公、生产等管理应用,帮助企业规范业务流程、促进团队协作、实现数据追踪!

简道云的核心功能包括表单、流程表单、仪表盘以及其他一些高级功能,通过这些功能的组合,搭建出各种不同的应用。

优势:强大数据分析功能、快速移动化、界面交互体验优。

劣势:缺乏低代码开发功能,模型无法代码化扩展,复杂应用无法支撑;仅支持云端部署,无法私有化部署,费用较高。


三、明道云

明道云的发展历史很长,从最开始的梅花网到协作SaaS产品明道,最后在2018年转型成为零代码业务应用构建平台。在行业中,还属于比较新的产品,明道云给自己的定位是一个APaaS平台,让企业用户不需要代码开发就能够搭建出用户体验上佳的销售、运营、人事、采购等核心业务应用。从整体功能上看,明道云对标的是国外应用搭建平台Airtable,主要通过搭建数据管理以及流程管理应用,帮助企业高效管理业务。

优势:移动化能力强,支持与钉钉和企业微信集成,视图功能较为强大,可扩展性好。

劣势:报表功能较弱,审批流偏弱,有一定上手门槛,费用高。


四、云程

云程平台是一款基于SpringBoot+VUE的低代码开发框架。采用微服务、前后端分离架构,基于可视化流程建模、表单建模、报表建模工具,零代码快速构建云端业务应用 ,平台即可本地化部署,也可基于K8S云原生部署。云程平台也是一款专业的BPM软件,即可独立部署,支撑企业级端到端流程落地,也可嵌入到您的OA、ERP等系统中,作为流程引擎组件使用。云程平台主要目的让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量,为企业信息化建设降本增效。

云程研发团队核心成员有10年以上的软件研发经验,聚焦于低代码平台、流程引擎等中间件产品研发,我们即可输出云程平台源代码,也可提供专业咨询和定制服务。

官方网站: http://www.yunchengxc.com/

在线演示:http://www.yunbangong100.com:31110/

官方文档:http://www.yunchengxc.com/category/help/doc

优势:云原生架构,流程引擎功能强大,对复杂应用支撑较好,云化和私有化均可,可交付源码,商业模式灵活。

劣势:缺乏市场宣传,缺乏生态化发展,用户界面美观方面稍有欠缺。


五、氚云

氚云是深圳奥哲网络科技有限公司(奥哲网络)三大主推产品之一,跟简道云是同时期的选手,已经发展近5年,是一款面向管理者或业务人员的以场景为中心的零(低)代码平台。2018年成为阿里战略投资的低代码应用搭建工具,与钉钉实现了深度融合。 氚云的定位与以流程为中心的H3 BPM和以业务为中心的云枢不同,氚云是以明确的场景为中心,通过可视化表单、流程设计、智能报表和模板化应用,帮助管理者或业务人员快速搭建流程与应用,透明呈现业务进度,实时展现精准数据,完整沉淀管理信息。

优势:表单流程配置灵活,应用模板丰富,交互设计体验较好,对钉钉支持较好。

劣势:功能较基础,复杂功能需使用低代码,需绑定钉钉提供服务,对于非钉钉类应用,局限性较大。


六、JEPaaS

JEPaaS是一款优秀的软件平台产品,可视化开发环境,低代码拖拽式配置开发,操作极其简单,可以帮助解决Java项目80%的重复工作,让开发更多关注业务逻辑,大大提高开发效率,能帮助公司大幅节省人力成本和时间成本,同时又不失灵活性。适用于搭建 OA、ERP、CRM、HR、HIS等所有的企业信息管理系统。


七、伙伴云

伙伴云,是由有着10年以上论坛软件开发及中小企业服务经验的前Discuz!团队打造的,历经“伙伴云表格”、“伙伴办公”,逐步升级为一个为企业经营服务的数据可视化平台,为企业的全流程运营管理与经营核算提供整体解决方案。通过强大的数据库引擎及权限架构,搭配可灵活定制的流程引擎与大数据分析引擎,配合专家级经营顾问与服务,打造全流程、实时可视化的经营核算体系,为企业构建起上下同心的经营伙伴关系,实现员工持续成长、组织持续变革、业绩持续提高。


八、道一云

道一云|七巧Plus(下面简称“七巧Plus”)是道一云旗下的一款低代码开发平台,去年7月左右上线,算是一款比较新的产品了。七巧Plus给自己的定位是一个高生产力的aPaaS平台,帮助企业快速搭建个性化应用,规范流程管理、数据追踪,提高团队协作效率。 道一云从2004年成立至今,近几年已经陆续发布了基于企业微信的协同应用套件——OA、HR、CRM等应用,在应用平台方面还发布了中台、七巧Plus,从布局上来看,是典型的“PaaS+SaaS”发展模式。


九、JeecgBoot

JeecgBoot 是一款基于代码生成器的低代码开发平台,零代码开发!采用前后端分离架构:SpringBoot2.x,Ant Design&Vue,Mybatis-plus,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码! JeecgBoot引领新的开发模式(Online Coding模式-> 代码生成器模式-> 手工MERGE智能开发), 帮助解决Java项目70%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省成本,同时又不失灵活性!JeecgBoot还独创在线开发模式(No代码概念):在线表单配置(表单设计器)、移动配置能力、工作流配置(在线设计流程)、报表配置能力、在线图表配置、插件能力(可插拔)等等!

JeecgBoot开源版本功能有限,只有系统管理功能,低代码开发和流程引擎均需要购买商业版本。


十、RuoYi

RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。

RuoYi开源版本功能有限,只有系统管理功能,流程引擎等高级组件均需要购买商业版本。

————————————————

版权声明:本文为CSDN博主「大龄码农有梦想」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/wxz258/article/details/114488658


上个月,钉钉在6.0发布会就曾暗示:

“低代码开发是云计算之后的下一场IT革命。”

发布会所提到的应用开发平台,就是低代码开发。

那什么是低代码开发?:

所谓低代码开发,即无需编码或只需少量代码就可以快速生成应用程序。也就是说,企业的应用开发通过“拖拉拽”的方式即可完成。

过去3年,阿里巴巴集团通过低代码开发平台,构建了12700个应用,其中绝大部分是由HR、财务等不具备开发经验的岗位员工搭建。

事实上,这些平台默默发展近20年,2015年才渐渐形成赛道,暗潮汹涌。入局选手很多,但有一点是明确的:

低代码赛道尚未形成明确的市场格局,入局者都有翻盘的机会,也有可能被翻盘。

 

纵观低代码开发的发展,有这几个关键时间点:

  • 2015年微软、谷歌等巨头入局。

  • 2018年西门子收购Mendix,OutSystems获得融资,低代码在海外走红。

  • 2015-2018年期间,国内低代码厂商像简道云、氚云等也斩露头角。

  • 2018年起,互联网巨头阿里、腾讯、百度纷纷入局。

  • 2019年起,低代码成为我国ICT产业中最明显的增量市场。

  • 2021钉钉6.0发布会再次引燃低代码市场。

一、国内低代码平台

简道云、明道云、IVX这几家目前是无代码赛道的明星选手,在市场综合表现上排列前茅。宜创、红圈营销虽也极具潜力,但在市场表现力上稍逊色。黑帕云、易水云、雀书等平台尚处于孵化阶段。——《2021 年中国低代码/无代码市场研究报告》

国内低代码平台一览表

1、简道云

2015年就入局的零代码开发厂商,在数据管理与数据可视化分析上有出色表现。流程性应用配置需求,现也在挖掘核心应用需求的应用开发。作为无代码赛道的明星产品,在功能满足及使用体验上都较好。

帆软软件出品,国内第一家在线零代码应用搭建平台,主打表单、流程表单、数据管理与数据分析,为企业流程性业务管理与配置赋能,无需代码、全程拖拽,即可完成应用搭建。

功能点:

  • 流程性业务配置应用轻松搭建,赋能业务人员,二次开发成本低。

  • 数据工厂、聚合表、仪表盘等功能助力数据管理与数据分析。

  • 提供OA/人事/绩效/ERP/CRM/进销存等解决方案。

  • 提供BPA(业务流程分析)工具,为企业优化、调整业务流程提供科学的统计方法和开箱即用的分析工具。

  • 可集成于钉钉,飞书;提供API & Webhook功能,可自主开发。

  • 提供知识库功能,可与工作流结合。

产品版本:免费版;标准版¥4950起/年;私有云版询价。

2、氚云

获阿里战投,背靠阿里强势发展,钉钉四星级定制服务商,功能良好,报表美观度上略差。

奥哲旗下产品,2016年上线钉钉应用市场,是面向业务部门管理者或企业决策者的业务管理工具,以拖拽式的积木搭建的方式搭建应用。

功能点:

  • 提供表单、流程引擎,报表等功能。

  • 积木式应用搭建,同时具备代码开发和外部系统集成能力。

  • 与钉钉集成,支持PC端与移动端使用。

产品版本:分标准版和专业版,按使用人数核定价格,标准版¥2980起/年,专业版¥4980起/年。专业版提供开发者功能,标准版不提供。

3、炎黄盈动AWS PaaS

基于长期BPM PaaS项目管理和实践经验,总结提炼形成AWS PaaS平台项目实施方法论,专注于企业业务流程管理和运维。更适用于大中型企业,有更高的扩展性与继承性。2019年发布的易鲸云版本,支持对复杂业务应用的可视化构建,提供基于Java标准的开放编程框架,灵活满足复杂场景的扩展。

炎黄盈动推出的第六代平台产品,于2017年正式发布,完全自主研发并拥有核心技术,致力于为用户提供低代码和BPM结合的PaaS平台。

功能点:

  • 专注BPM和PaaS开发研究,是面向大中型企业的PaaS平台。

  • 打通从流程管理到流程执行的轻量级低代码平台。

  • 涵盖了流程应用、移动应用、数据应用、集成应用、协同应用、API应用六大应用场景。

产品版本:易鲸云¥9600起/年,适用于100-2000人的组织用户;云服务版¥28908起/年,适用于50-100万用户规模的组织或SaaS提供商;企业安装版需询价。

 

4、明道云

提供内部沟通、任务等功能,类似简化版的钉钉。内置功能性模块不多,要依赖API接口。有些功能设计冗余,有的入口路径设置太深,体验欠佳。

简介:APaaS平台,帮助企业快速搭建个性化业务应用,2018年正式发布明道乐高版,顾名思义,像搭乐高一样搭应用,强调应用的简易性。

功能点:

  • 提供工作表、视图、权限配置、统计图表、工作流五个功能组件。

  • 可实现跨云部署和系统集成。

  • 建立了自己的应用开放平台。

产品版本:团队版¥9900/年;企业版¥19900/年;旗舰版39900/年。

5、宜搭

由于上线时间不长,功能尚不完善,应用模板较少,对新手不够友好,从一些用户评价来看,整体体验还有待优化。

2019年3月宜搭上线,9月发布宜搭Plus低代码开发平台,2020年6月,宜搭上线专有云版。

功能点:

  • 以表单模型驱动的应用可视化搭建,可根据业务灵活定制应用。

  • 集成钉钉,默认使用钉钉通讯录,搭建好的应用可接入企业工作台,可实现高效协同办公。

  • 提供DDoS攻击防御,WEB应用防火墙,接口安全检测等安全服务。

产品版本:标准版¥1988起/年;尊享版¥3988起/年;专有云版本。尊享版提供高级页面设计、高级流程设计、报表设计离线大数据、服务端逻辑编排、前端代码开放功能。

6、IVX

可以说是零代码应用平台中的清流,与国内现有零代码平台发展路径不同,采用完全的"0代码开发语言",力图提供一种全新的开发手段和体系。

深圳世云新媒体有限公司旗下产品,前身是iH5,经过多次迭代更新,于2019年上线的完全采用"0代码开发语言"的零代码可视化开发应用平台。

功能点:

  • 提供一种全新的编程方式和语言IVX。

  • 适用于企业、个人应用、游戏等多种场景,针对群体主要是程序员,而非业务人员。

  • 有自己专门的IDE和编译器,同时后台集成了“云计算”的核心能力(AWS为主)。

  • 商业投放与运营前的注册、开发、发布、测试均免费。

产品版本:标准版¥18880/年;高级版¥48880/年;白金版¥118880/年。

二、国外低代码平台

国外低代码平台一览表

1、Power Apps

微软团队开发的一款SaaS产品,提供应用程序开发环境,协助无代码快速自定义应用开发;同时提供开发扩展功能,专业的技术开发人员可创建数据和元数据,实现自主开发,扩展应用逻辑、创建自定义连接器或实现数据集成。

功能点:

  • 利用Power Apps可创建画布、模型驱动应用和门户设计三类应用。

  • 存储于Dataverse的数据类型和关系可以直接在Power Apps中使用,无需集成即可构建应用程序。

  • 兼容性强,内置丰富数据接口,可与Microsoft365、Dynamics CRM等平台相连。

  • 可在Web或移动端运行。

Microsoft已形成了良好的应用开发生态,跨平台应用及联动性能强,但虚拟机用起来较缓慢,使用感欠佳。界面配置逻辑主要遵循excel的公式,前端代码可视化,实现UI交互还是需要懂一些代码。

2、App Maker

谷歌旗下的一款低代码应用平台,开发的初衷是为解决通用软件开发无法解决的应用程序开发问题,2018年正式上线,对外开放。

功能点:

  • 网页端即可创建应用

  • 拖拽UI完成界面开发,通过组件设定数据源完成后端数据连接

  • 提供定制开发服务

  • 提供API接口

  • 提供扩展功能,可与项目管理Asana、进销存管理Zoho Invoice等第三方应用集成。

无代码应用开发、应用集成扩展,基于Google云环境,国内开发者适用性较弱。

3、Mendix

简介:美国原生代低代码应用开发厂商,2018年被西门子收购,被Gartner评为低代码应用开发平台的全球领导者之一。

功能点:

  • 提供“所见即所得”的界面和适用于所有人员的无代码应用开发环境,赋能业务人员开发;

  • 同时向专业开发人员提供高级应用处理的低代码开发服务。

  • 提供数据库及核心系统的连接组件,可以实现CRM、ERP等独立应用数据的联通。

  • 以Mendix为核心,可搭建各种开放性生态系统,2019年西门子将低代码Mendix与工业互联网MindSphere平台结合,推出了Xcelerator软件产品,试图用低代码赋能,利用Mendix实现个性化应用的配置,加速工业互联网的落地,实现数据的互联互通。

不只专注于工业领域,可赋能各种个性化应用场景。落地腾讯云,目前正在向中国市场进发,上汽、富士康旗下的云智汇科技服务有限公司均运用Mendix平台开发了应用。

4、OutSystems

OutSystems2015年开始转型,专注提供云服务;2017年发布低代码新版本,引入新DevOps功能;2018年获KKR和高盛融资,发展势头强劲。Gartner曾评价:OutSystems是将低代码功能与高级移动功能相结合的唯一解决方案。估值超10亿美元,OutSystems或许有望跑赢Mendix,成为低代码界的独角兽。

功能点:

  • 打破传统代码编写方式,提供图形化控件,实现应用程序的可视化开发。

  • 同时支持编写代码,可轻松实现系统集成。

  • 提供云、本地部署和混合部署模式,部署可以基于容器。

  • AWS和Azure版本均支持接入IoT、AI等基础云服务。

  • 提供CRM/ERP等应用场景的解决方案及各类移动应用程序的搭建服务。

面向专业的开发者,代码能力要求高,工具控件不够丰富;IDE界面古老,操作不友好。

总结一下

毫无疑问,低代码是企业数字化发展的强大助力,特别是对中小企业用户而言,能为这些企业降本增效、发展加成。

但国外低代码平台发展路径整体不同于国内零/低代码产品的发展,我国低代码产商虽涌入了诸多玩家,但仍然处于市场增量环节。

从目前的发展看,低代码平台在功能上,也有望从边缘的、流程性业务向核心功能开发转变。未来可期啊。


Docker 客户端

docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。

runoob@runoob:~# docker

可以通过命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。

例如我们要查看 docker stats 指令的具体使用方法:

runoob@runoob:~# docker stats --help


容器使用

获取镜像

如果我们本地没有 ubuntu 镜像,我们可以使用 docker pull 命令来载入 ubuntu 镜像:

$ docker pull ubuntu

启动容器

以下命令使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器:

$ docker run -it ubuntu /bin/bash

参数说明:

  • -i: 交互式操作。

  • -t: 终端。

  • ubuntu: ubuntu 镜像。

  • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

要退出终端,直接输入 exit:

root@ed09e4490c57:/# exit

启动已停止运行的容器

查看所有的容器命令如下:

$ docker ps -a

点击图片查看大图:

使用 docker start 启动一个已停止的容器:

$ docker start b750bbbcfd88

后台运行

在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。

$ docker run -itd --name ubuntu-test ubuntu /bin/bash

点击图片查看大图:

注:加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec(下面会介绍到)。

停止一个容器

停止容器的命令如下:

$ docker stop <容器 ID>

停止的容器可以通过 docker restart 重启:

$ docker restart <容器 ID>

进入容器

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

  • docker attach

  • docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。

attach 命令

下面演示了使用 docker attach 命令。

$ docker attach 1e560fca3906

注意: 如果从这个容器退出,会导致容器的停止。

exec 命令

下面演示了使用 docker exec 命令。

docker exec -it 243c32535da7 /bin/bash

注意: 如果从这个容器退出,容器不会停止,这就是为什么推荐大家使用 docker exec 的原因。

更多参数说明请使用 docker exec --help 命令查看。

导出和导入容器

导出容器

如果要导出本地某个容器,可以使用 docker export 命令。

$ docker export 1e560fca3906 > ubuntu.tar

导出容器 1e560fca3906 快照到本地文件 ubuntu.tar。

这样将导出容器快照到本地文件。

导入容器快照

可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:

$ cat docker/ubuntu.tar | docker import - test/ubuntu:v1

此外,也可以通过指定 URL 或者某个目录来导入,例如:

$ docker import http://example.com/exampleimage.tgz example/imagerepo

删除容器

删除容器使用 docker rm 命令:

$ docker rm -f 1e560fca3906

下面的命令可以清理掉所有处于终止状态的容器。

$ docker container prune


运行一个 web 应用

前面我们运行的容器并没有一些什么特别的用处。

接下来让我们尝试使用 docker 构建一个 web 应用程序。

我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。

runoob@runoob:~# docker pull training/webapp  # 载入镜像runoob@runoob:~# docker run -d -P training/webapp python app.py

参数说明:

  • -d:让容器在后台运行。

  • -P:将容器内部使用的网络端口随机映射到我们使用的主机上。


查看 WEB 应用容器

使用 docker ps 来查看我们正在运行的容器:

runoob@runoob:~#  docker ps
CONTAINER ID        IMAGE               COMMAND             ...        PORTS                 
d3d5e39ed9d3        training/webapp     "python app.py"     ...        0.0.0.0:32769->5000/tcp

这里多了端口信息。

PORTS0.0.0.0:32769->5000/tcp

Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32769 上。

这时我们可以通过浏览器访问WEB应用

我们也可以通过 -p 参数来设置不一样的端口:

runoob@runoob:~$ docker run -d -p 5000:5000 training/webapp python app.py

docker ps查看正在运行的容器

runoob@runoob:~#  docker ps
CONTAINER ID        IMAGE                             PORTS                     NAMES
bf08b7f2cd89        training/webapp     ...        0.0.0.0:5000->5000/tcp    wizardly_chandrasekhar
d3d5e39ed9d3        training/webapp     ...        0.0.0.0:32769->5000/tcp   xenodochial_hoov

容器内部的 5000 端口映射到我们本地主机的 5000 端口上。


网络端口的快捷方式

通过 docker ps 命令可以查看到容器的端口映射,docker 还提供了另一个快捷方式 docker port,使用 docker port 可以查看指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号。

上面我们创建的 web 应用容器 ID 为 bf08b7f2cd89 名字为 wizardly_chandrasekhar

我可以使用 docker port bf08b7f2cd89 或 docker port wizardly_chandrasekhar 来查看容器端口的映射情况。

runoob@runoob:~$ docker port bf08b7f2cd895000/tcp -> 0.0.0.0:5000
runoob@runoob:~$ docker port wizardly_chandrasekhar5000/tcp -> 0.0.0.0:5000


查看 WEB 应用程序日志

docker logs [ID或者名字] 可以查看容器内部的标准输出。

runoob@runoob:~$ docker logs -f bf08b7f2cd89 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)192.168.239.1 - - [09/May/2016 16:30:37] "GET / HTTP/1.1" 200 -192.168.239.1 - - [09/May/2016 16:30:37] "GET /favicon.ico HTTP/1.1" 404 -

-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。

从上面,我们可以看到应用程序使用的是 5000 端口并且能够查看到应用程序的访问日志。


查看WEB应用程序容器的进程

我们还可以使用 docker top 来查看容器内部运行的进程

runoob@runoob:~$ docker top wizardly_chandrasekhar
UID     PID         PPID          ...       TIME                CMD
root    23245       23228         ...       00:00:00            python app.py


检查 WEB 应用程序

使用 docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。

runoob@runoob:~$ docker inspect wizardly_chandrasekhar[
    {
        "Id": "bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85",
        "Created": "2018-09-17T01:41:26.174228707Z",
        "Path": "python",
        "Args": [
            "app.py"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 23245,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2018-09-17T01:41:26.494185806Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },......


停止 WEB 应用容器

runoob@runoob:~$ docker stop wizardly_chandrasekhar   
wizardly_chandrasekhar


重启WEB应用容器

已经停止的容器,我们可以使用命令 docker start 来启动。

runoob@runoob:~$ docker start wizardly_chandrasekhar
wizardly_chandrasekhar

docker ps -l 查询最后一次创建的容器:

#  docker ps -l CONTAINER ID        IMAGE                             PORTS                     NAMES
bf08b7f2cd89        training/webapp     ...        0.0.0.0:5000->5000/tcp    wizardly_chandrasekhar

正在运行的容器,我们可以使用 docker restart 命令来重启。


移除WEB应用容器

我们可以使用 docker rm 命令来删除不需要的容器

runoob@runoob:~$ docker rm wizardly_chandrasekhar  
wizardly_chandrasekhar

删除容器时,容器必须是停止状态,否则会报如下错误

runoob@runoob:~$ docker rm wizardly_chandrasekharError response from daemon: You cannot remove a running container bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85. Stop the container before attempting removal or force remove

 Docker Hello World

Docker 镜像使用 

1 篇笔记 写笔记

  1.    vfxZhen

      orp***010@qq.com

       参考地址

    1660940

    问题描述

    安装完docker后,执行docker相关命令,出现:

    ”Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied“

    原因

    摘自docker mannual上的一段话:

    Manage Docker as a non-root userThe docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can only access it using sudo. The docker daemon always runs as the root user.If you don’t want to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it makes the ownership of the Unix socket read/writable by the docker group

    大概的意思就是:docker进程使用Unix Socket而不是TCP端口。而默认情况下,Unix socket属于root用户,需要root权限才能访问。

    解决方法1

    使用sudo获取管理员权限,运行docker命令

    解决方法2

    docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令

    sudo groupadd docker     #添加docker用户组sudo gpasswd -a $USER docker     #将登陆用户加入到docker用户组中newgrp docker     #更新用户组docker ps    #测试docker命令是否可以使用sudo正常使用


前言:有时自己的做好的docker镜像,想将这个docker容器弄到其他服务器上去运行;或者已经运行的容器,将其弄导出,运行到其他地方进行测试

 

1.查看要要保存的镜像的ID

docker  images


 

2.保存镜像为tar包

docker save  -o   gitlab.tar    docker.io/twang2218/gitlab-ce-zh:latest

 


 

3.用scp,xftp等等将已经压缩好的gitlab.tar包弄到服务器,虚拟机(你想弄到的地方)

4.将gitlab.tar包导出到本地来(一定要有docker的运行环境,docker安装:https://www.jianshu.com/p/9c96ea8e6f41)

docker   load  -i  gitlab.tar

 


 

5.运行docker容器

docker  run -------- (因地制宜)

=================================================

还有一种export的导出,这个就运用范围比较小了,比如拉个centos的虚拟机,更改下ip,设置下ssh key等等,做的一个镜像,部署到服务器/虚拟机上,运行做测试用。就是多个人需要相同类似的初始环境,可以考虑这个

 

1.保存镜像命令为

docker export  -o gitlab-export.tar  18da462b5ff5

2.导出镜像命令为

docker import gitlab-export.tar

3.查看镜像

docker images

4.运行容器

docker  run -------- (因地制宜)


docker cp :用于容器与主机之间的数据拷贝。


语法

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-

docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

OPTIONS说明:


-L :保持源目标中的链接


实例

将主机./RS-MapReduce目录拷贝到容器30026605dcfe的/home/cloudera目录下。


docker cp RS-MapReduce 30026605dcfe:/home/cloudera

将容器30026605dcfe的/home/cloudera/RS-MapReduce目录拷贝到主机的/tmp目录中。


docker cp  30026605dcfe:/home/cloudera/RS-MapReduce /tmp/

————————————————

版权声明:本文为CSDN博主「HuFeiHu-Blog」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/u011596455/article/details/76862271