欢迎使用Docker和Paserver在Linux上部署RAD Studio应用程序的指南。该存储库提供了一个Docker脚本,旨在简化开发环境的设置和管理,从而使Rad Studio开发人员可以在Linux环境中部署和测试其应用程序。
图像默认用于使用密码securepass在端口64211上运行Paserver
10.x图像使用Ubuntu 18.04.6 LTS(仿生海狸),而 +11.x图像使用Ubuntu 22.04.1 LTS(Jammy Jellyfish)
run.sh ]脚本[ run.sh ]脚本是您的首选自动化工具,可轻松且灵活地设置和部署Paserver应用程序。以下是有效利用此脚本的说明。
确保将Docker安装在系统上,因为此脚本使用Docker运行Paserver应用程序。
导航到终端中包含[ run.sh ]的目录。用您的首选选项执行脚本:
./run.sh [OPTIONS]--name或-n :容器的名称(例如, --name=myPAServer )。--path或-pa :绑定音量映射的路径(例如--path=/my/custom/path )。--detach或-d :以分离模式运行容器(背景)。--port或-p :Paserver的端口(例如--port=64211 )。--production或-pr :启用生产模式( true )。--version或-v :paserver版本(例如, --version=latest )。--password或-pw :为Paserver设置密码(例如--password=securepass )。--help或-h :显示脚本的帮助。使用自定义名称和密码在端口65000上运行Paserver:
./run.sh --name=myPAServer --port=65000 --production --password=mysupersecurepassword使用特定版本,绑定路径和密码以分离模式运行Paserver:
./run.sh --detach --version=12.1 --path=/my/custom/path --password=mysupersecurepassword确保您拥有执行run.sh必要权限。使用chmod +x run.sh在需要时使其可执行。
docker run对于更喜欢动手方法或希望进一步自定义部署的用户,您可以直接使用docker run命令来启动Paserver容器。此方法提供了灵活性,并允许您手动指定每个选项。
运行Paserver Docker容器的命令的基本结构如下:
docker run [OPTIONS] radstudio/paserver:[VERSION]-e PA_SERVER_PASSWORD=[PASSWORD] :设置Paserver的密码。用所需的密码替换[PASSWORD] 。--name [NAME] :将自定义名称分配给您的Docker容器。用您喜欢的容器名称替换[NAME] 。-p [PORT]:64211 :将主机上的自定义端口映射到Paserver的默认端口(64211)。将[PORT]替换为您希望使用的端口号。[DETACH_ARG] :使用-d以独立模式(在后台)运行容器。[BIND_PATH_ARG] :使用-v [HOST_PATH]:[CONTAINER_PATH]绑定持续数据或配置的卷。用您的特定路径替换[HOST_PATH]和[CONTAINER_PATH] 。要在名为myPAServer的Docker容器中运行Paserver,在端口65000上聆听mysupersecurepassword的密码,并以独立模式运行,您将使用以下命令:
docker run -d
-e PA_SERVER_PASSWORD=mysupersecurepassword
--name myPAServer
-p 65000:64211 radstudio/paserver:latest如果您想绑定持续数据的卷,则可以添加-v选项:
docker run -d
-e PA_SERVER_PASSWORD=securepass
-v /path/on/host:/root/PAServer/scratch-dir
--name myPAServer
-p 65000:64211 radstudio/paserver:latestDocker组合允许您定义和运行多容器Docker应用程序。这是一个示例docker-compose.yml文件,它演示了如何使用docker映像作为服务的一部分,并利用环境变量进行配置。
version : ' 3.8 '
services :
myPAServer :
image : radstudio/paserver:latest
container_name : myPAServer
environment :
- PA_SERVER_PASSWORD=${PA_SERVER_PASSWORD} # Environment variable for the server password
ports :
- ' ${HOST_PORT}:64211 ' # Environment variable for the host port
volumes :
- ${HOST_PATH}:/root/PAServer/scratch-dir # Environment variable for the host path
restart : unless-stopped该配置定义了一个称为myPAServer的单个服务。它使用Docker Image radstudio/paserver:latest 。服务配置包括将端口从主机映射到容器,为服务器密码设置环境变量,并将卷从主机上安装到容器中。这些设置可通过与docker-compose.yml位于同一目录中的.env文件中定义的环境变量进行自定义。
# .env file
PA_SERVER_PASSWORD=securepass
HOST_PORT=65000
HOST_PATH=/path/on/host
要启动您的应用程序,请在包含docker-compose.yml目录中执行以下命令:
docker-compose up此命令启动Docker组成的过程,该过程读取docker-compose.yml文件和.env文件,并应用配置以按定义启动您的服务。
这将拉出必要的图像(如果尚未本地可用),创建定义的卷,设置环境变量,然后在指定的端口上启动应用程序。
确保您要使用要使用的实际路径来替换/path/on/host 。 latest标签可以用您希望部署的任何特定版本的Paserver替换。
本指南将帮助您自定义Paserver图像以适合您的特定需求,例如添加其他文件或文件夹,安装额外的软件包以及进行其他修改。
要将文件或文件夹添加到Docker映像中,请使用COPY或在Dockerfile中ADD指令。 COPY是复制本地文件的首选,而ADD可以处理远程URL和TAR提取。
COPY ./myconfig.conf /etc/myapp/myconfig.conf此命令将myconfig.conf从您的项目目录复制到Docker Image中的/etc/myapp/myconfig.conf 。
要安装其他软件包,您可以修改安装软件包的RUN命令。最好将软件包安装命令组合到单个RUN指令中,以减少Docker映像中的层数。
RUN apt-get update && apt-get install -y
git
cmake
&& rm -rf /var/lib/apt/lists/*基于每个项目,可能需要特定的库。此命令更新软件包列表,安装git和cmake ,然后清理以保持图像尺寸。
为了避免在最终的Docker映像中进行额外的分层,最好修改现有的RUN apt-get update命令以包括您所需的库。
您可以自定义Dockerfile来更改环境变量,下载不同版本的软件或修改安装过程。
ENV MY_CUSTOM_VAR=myvalue这设置了您的应用程序可以使用的环境变量MY_CUSTOM_VAR 。
自定义Dockerfile后,您可以使用docker build命令来构建Docker映像。
docker build -t my-custom-paserver:latest .此命令使用当前目录中的dockerfile构建了一个latest my-custom-paserver的Docker映像。
对于可能在构建之间发生变化的值(例如密码或版本号),您可以在dockerfile中使用ARG指令,并在构建过程中使用--build-arg选项传递值。
ARG password=securepass使用自定义密码构建:
docker build --build-arg password=mypassword -t my-custom-paserver:latest .build.sh ]脚本,可以用作简化自定义构建的模板。linux/amd64兼容。为避免手臂设置中的潜在问题,请使用arg --platform linux/amd64构建图像RUN指令中。.dockerignore :在您的项目中添加.dockerignore文件,以避免将不必要的文件复制到Docker映像中。该软件是版权所有©2024,由Embarcadero Technologies,Inc.。
您只能在您是Embarcadero开发人员工具产品的授权许可方时使用此软件。有关任何更新,请参见最新的软件许可协议。