文档章节

DELPHI开始支持LINUX DOCKER

o
 osc_zoa3moe9
发布于 2019/12/08 10:11
字数 1543
阅读 10
收藏 0

精选30+云产品,助力企业轻松上云!>>>

DELPHI开始支持LINUX DOCKER

本方翻译自Marco Cantu的文章。

在过去的几年中,将服务器端解决方案(实际上是任何类型的应用程序)部署到轻量级容器而不是物理机器或虚拟机已经变得越来越普遍,因为这允许更大的灵活性(在测试方面),更好地重建相同的执行环境,以及更大的可扩展性。

随着10.3.3版本的发布,Embarcadero正式开始支持将通用Linux应用程序部署到Docker容器,特别是支持部署到RAD服务器。             

在这篇博客文章中,我将介绍Docker和Docker Hub,以及如何轻松地开始将Linux应用程序部署到Docker。在第二篇博客文章中,我将特别关注RAD服务器的部署。我们也将很快有一份关于这个主题的更详细的白皮书。             

什么是Docker             

Docker是一个操作系统级的虚拟化环境,允许在容器文件中打包和交付软件包。容器文件由Docker引擎执行,多个容器可以在同一个Linux安装上并排运行。每个容器中都有一个操作系统级的虚拟化环境。              容器比虚拟机更轻,因为它们由Docker引擎运行。容器是通过将一组称为Dockerfile的指令构建到容器映像中来创建的。容器图像随后在Docker引擎上执行。生成步骤和运行步骤都可以采用许多参数来配置特定的生成或运行容器映像。              此外,现有的容器映像可以用作内部的起点,它允许您在现有容器映像的功能的基础上添加新功能。容器和docker的信息来源很多,一个好的起点是https://www.docker.com/。

什么是Docker Hub?             

Docker提供一项服务,允许开发者和发布者向公众或他们的团队分发Docker图片。这项服务被称为Docker Hub,它为用户提供了一种使用特定Docker图像所在存储库的方法。Docker存储库还允许Docker图像版本控制。Docker Hub包含官方图片,比如Ubuntu图片,可以作为很多用户的起点。             

RAD Studio Docker容器             

RAD Studio Docker容器paserver、pa radserver和pa radserver ib可以直接从DockerHub获得,也可以作为Dockerfiles(在GitHub上)和其他助手实用程序。当使用Docker从DockerHub中提取容器时,必须在容器名称前面加上组织名称,例如radstudio/pa Server、radstudio/pa radserver和radstudio/pa-radserver-ib。对于这篇博客文章,我将开始关注第一篇文章radstudio/paserver,它不包括RAD Server。              Docker容器有许多不同的参数,可以在启动实例时传递给Docker引擎。另外,在构建和运行Docker镜像时,可以定义自定义的构建和运行参数。我们提供的脚本中包含了许多自定义参数,例如PAServer的密码。              Docker容器实例可以在前台运行,您可以在前台与实例中运行的应用程序交互,也可以在后台分离运行,后者的行为类似于服务。              Docker容器实例默认情况下不会在运行之间存储对实例的任何更改(它们是临时映像)。但是,您可以在Docker实例中设置一个持久卷,它将存储Docker容器实例运行之间的更改。Docker实例中的目录可以装载到卷上,并且在Docker实例运行期间,该目录中所做的任何更改都会在卷上持久。             

如何在Linux上安装Docker             

Docker系统可以通过多种方式安装。安装Docker的一种方法是使用Ubuntu操作系统中包含的APT包管理器。要使用APT安装Docker,只需使用sudo或超级用户帐户以提升的权限运行APT install命令。             

----------             

#如果使用sudo              sudo apt安装docker.io             

#如果使用超级用户帐户              apt安装docker.io             

----------

PAServer Docker映像             

PAServer Docker映像使用Ubuntu:Bionic作为基础映像,并在此基础上构建包括PAServer工具及其功能的映像PAServer工具是从Embarcadero服务器下载的。此图像包含PAServer及其所有依赖项,以及用于使用BroadwayD的GTK+框架(FMXLinux库的一个特性部分,用于在Linux上构建ui,该库随Delphi免费提供)。BroadwayD可以通过HTML5和websockets在web上显示GTK+应用程序。将这两个工具放在同一个Docker容器上,允许开发人员使用PAServer部署控制台和基于图形用户界面的应用程序,并通过BroadwayD服务器通过web浏览器查看图形用户界面应用程序。              此图像有几个参数,包括              PAServer密码,可以设置为build参数或run参数              是否要在前台交互模式(-it)或分离模式(-d)下运行              外部PAServer端口(即映射到容器中PAServer端口的主机端口)和broadwayd端口重新映射              PAServer的默认密码设置为'embtdocker'              这是一个如何下载图像并使用几个参数启动图像的示例:             

----------             

docker pull radstudio/paserver公司             

docker run-it-e PA_SERVER_PASSWORD=securepass-p 64211:64211-p 8082:8082 radstudio/paserver             

----------

此时,您可以通过docker映像的主机IP和RAD Studio IDE中的端口地址来引用docker映像,并通过docker映像托管的PAServer部署和运行Linux应用程序。因此,Delphi应用程序将在docker下运行。

GitHub上的Dockerfile             

不用从docker hub中提取图像,您可以使用我们已经构建并在GitHub上提供的脚本创建一个自定义图像。PAServer Dockerfile包含Docker在构建时用于创建Docker映像的指令。Dockerfile依赖于从Embarcadero下载的特定版本的PAServer,可从以下网址获得:              https://github.com/Embarcadero/paserver-docker              更多即将到来              在下一篇博文中,我们将继续关注通过docker部署RAD服务器,这是Embarcadero支持docker容器的关键原因。             

----------------------------------------------             

学位越高,对最卑微的人的尊重就越大!

 

o
粉丝 1
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
【转】DELPHI开始支持LINUX DOCKER

这是咏南翻译Marco Cantu的文章。 在过去的几年中,将服务器端解决方案(实际上是任何类型的应用程序)部署到轻量级DOCKER而不是物理机器或虚拟机已经变得越来越普遍,因为这允许更大的灵活性...

osc_ed4c5zv7
2019/12/09
1
0
Delphi-Cross-Socket

Delphi-Cross-Socket GITHUB:https://github.com/winddriver/Delphi-Cross-Socket # Delphi 跨平台 Socket 通讯库 作者: WiNDDRiVER(soulawing@gmail.com) ## 重要更新(2017.08.22) - 代码重......

osc_t0zmqrod
2018/08/07
5
0
delphi 数据库技术沉浮录--谨献给成为历史的BDE

2014年9月,delphi xe7 出来了,这次在数据库技术方面,彻底抛掉了从1995 年delphi 1.0 就自带的BDE(Borland Database Engine)数据库访问技术。从而宣告了这个持续 了20余年的delphi 访问数据...

osc_izh4pvr9
04/08
21
0
delphi 数据库技术沉浮录--谨献给成为历史的BDE

2014年9月,delphi xe7 出来了,这次在数据库技术方面,彻底抛掉了从1995 年delphi 1.0 就自带的BDE(Borland Database Engine)数据库访问技术。从而宣告了这个持续 了20余年的delphi 访问数据...

xalion
2014/09/18
0
0
十年磨一剑 Delphi再写传奇(不争辩,不解释,十年坚持不懈的努力)

新年伊始,英巴卡迪诺公司(Embarcadero)就在其官网发布了“激动人心的RAD Studio2018年发展规划”公告(见上图)。公告中指出,将在于2018年发布10.3.X新版本,新版本兼容Ext JS前端开发,支...

osc_lbsmihm9
2018/02/27
2
0

没有更多内容

加载失败,请刷新页面

加载更多

Mysql 通过binlog日志恢复数据

Binlog日志,即binary log,是二进制日志文件,有两个作用,一个是增量备份,另一个是主从复制,即主节点维护一个binlog日志文件,从节点从binlog中同步数据,也可以通过binlog日志来恢复数据...

osc_lduvstkg
38分钟前
12
0
前端js日期时间格式转换

前端前后端接口处理时经常会遇到需要转换不同时间格式的情况,比如时间戳格式转换成正常日期显示来进行前端展示。 下面是分享一些不同格式的日期转换函数方法。 /** * 时间戳转时间 * @param...

osc_gccs85s0
40分钟前
9
0
微服务中如何设计一个权限授权服务

基于角色的访问控制 (RBAC)   是将系统访问限制为授权用户的一种方法,是围绕角色和特权定义的与策略无关的访问控制机制,RBAC的组件使执行用户分配变得很简单。   在组织内部,将为各种...

osc_ie20bwji
42分钟前
12
0
前端js日期时间格式转换

前端前后端接口处理时经常会遇到需要转换不同时间格式的情况,比如时间戳格式转换成正常日期显示来进行前端展示。 下面是分享一些不同格式的日期转换函数方法。 /** * 时间戳转时间 * @param...

osc_sqfqhs81
43分钟前
38
0
(转)【D3D11游戏编程】学习笔记三:XNAMath之XMMATRIX

(注:【D3D11游戏编程】学习笔记系列由CSDN作者BonChoix所写,转载请注明出处:http://blog.csdn.net/BonChoix,谢谢~) 在熟悉了XMVECTOR的风格及规则之后,再来了XNA数学库中的矩阵就容易...

osc_yumj26qz
45分钟前
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部