Bienvenido a la Guía para la implementación de aplicaciones RAD Studio en Linux usando Docker y Paserver. Este repositorio ofrece un script de Docker diseñado para simplificar la configuración y administración de su entorno de desarrollo, lo que permite a los desarrolladores de RAD Studio implementar y probar sus aplicaciones en un entorno de Linux.
La imagen predeterminada se ejecuta Paserver en el puerto 64211 con la contraseña securepass
Las imágenes 10.x usan Ubuntu 18.04.6 LTS (Beaver Bionic) mientras que las imágenes +11.x usan Ubuntu 22.04.1 LTS (Jammy Jellyfish)
run.sh ] El script [ run.sh ] es su herramienta de automatización de referencia para configurar e implementar la aplicación Paserver con facilidad y flexibilidad. A continuación se presentan las instrucciones para utilizar este script de manera efectiva.
Asegúrese de que Docker esté instalado en su sistema, ya que este script usa Docker para ejecutar la aplicación Paserver.
Navegue al directorio que contiene [ run.sh ] en su terminal. Ejecute el script con sus opciones preferidas:
./run.sh [OPTIONS]--name o -n : el nombre del contenedor (por ejemplo, --name=myPAServer ).--path o -pa : Bank Rath para el mapeo de volumen (p --path=/my/custom/path Ej.--detach o -d : ejecute el contenedor en modo de separación (fondo).--port o -p : puerto para Paserver (por ejemplo, --port=64211 ).--production o -pr : habilitar el modo de producción ( true ).--version o -v : Versión Paserver (por ejemplo, --version=latest ).--password o -pw : establezca una contraseña para Paserver (por ejemplo, --password=securepass ).--help o -h : muestra la ayuda del guión.Ejecute Paserver en modo de producción en el puerto 65000 con un nombre y contraseña personalizados:
./run.sh --name=myPAServer --port=65000 --production --password=mysupersecurepasswordEjecute Paserver en modo separado con una versión específica, ruta de enlace y contraseña:
./run.sh --detach --version=12.1 --path=/my/custom/path --password=mysupersecurepassword Asegúrese de tener los permisos necesarios para ejecutar run.sh Use chmod +x run.sh para que sea ejecutable si es necesario.
docker run directamente Para los usuarios que prefieren un enfoque más práctico o desean personalizar aún más su implementación, puede usar directamente el comando docker run para iniciar su contenedor Paserver. Este método proporciona flexibilidad y le permite especificar manualmente cada opción.
La estructura básica del comando para ejecutar el contenedor Paserver Docker es la siguiente:
docker run [OPTIONS] radstudio/paserver:[VERSION]-e PA_SERVER_PASSWORD=[PASSWORD] : establece la contraseña para el paserver. Reemplace [PASSWORD] con su contraseña deseada.--name [NAME] : asigna un nombre personalizado a su contenedor Docker. Reemplace [NAME] con el nombre de su contenedor preferido.-p [PORT]:64211 : mapea un puerto personalizado en su host al puerto predeterminado del Paserver (64211). Reemplace [PORT] con el número de puerto que desea usar.[DETACH_ARG] : use -d para ejecutar el contenedor en modo separado (en el fondo).[BIND_PATH_ARG] : use -v [HOST_PATH]:[CONTAINER_PATH] para vincular un volumen para datos o configuraciones persistentes. Reemplace [HOST_PATH] y [CONTAINER_PATH] con sus rutas específicas. Para ejecutar el Paserver en un contenedor Docker llamado myPAServer , escuchando en el puerto 65000, con una contraseña de mysupersecurepassword y ejecutándose en modo separado, usaría el siguiente comando:
docker run -d
-e PA_SERVER_PASSWORD=mysupersecurepassword
--name myPAServer
-p 65000:64211 radstudio/paserver:latest Si desea unir un volumen para datos persistentes, puede agregar la opción -v :
docker run -d
-e PA_SERVER_PASSWORD=securepass
-v /path/on/host:/root/PAServer/scratch-dir
--name myPAServer
-p 65000:64211 radstudio/paserver:latest Docker Compose le permite definir y ejecutar aplicaciones Docker de múltiples contenedores. Aquí hay un archivo de ejemplo docker-compose.yml que demuestra cómo usar una imagen de Docker como parte de un servicio, utilizando variables de entorno para la configuración.
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 Esta configuración define un solo servicio llamado myPAServer . Utiliza la imagen de Docker radstudio/paserver:latest . La configuración del servicio incluye mapear un puerto desde el host al contenedor, configurar una variable de entorno para la contraseña del servidor y montar un volumen desde el host al contenedor. Estas configuraciones son personalizables a través de variables de entorno definidas en un archivo .env ubicado en el mismo directorio que su docker-compose.yml .
# .env file
PA_SERVER_PASSWORD=securepass
HOST_PORT=65000
HOST_PATH=/path/on/host
Para iniciar su aplicación, ejecute el siguiente comando en el directorio que contiene su docker-compose.yml :
docker-compose up Este comando inicia el proceso de composición de Docker, que lee el archivo docker-compose.yml y el archivo .env , aplicando las configuraciones para iniciar su servicio según se define.
Esto extraerá la imagen necesaria (si aún no está disponible localmente), creará los volúmenes definidos, establecerá las variables de entorno e iniciará su aplicación en los puertos especificados.
Asegúrese de reemplazar /path/on/host con la ruta real que desea usar para la unión de volumen. La latest etiqueta se puede reemplazar con cualquier versión específica del Paserver que desee implementar.
Esta guía lo ayudará a personalizar la imagen de Paserver para satisfacer sus necesidades específicas, como agregar archivos o carpetas adicionales, instalar paquetes adicionales y hacer otras modificaciones.
Para agregar archivos o carpetas a su imagen de Docker, use las instrucciones COPY o ADD en su DockerFile. Se prefiere COPY para copiar archivos locales, mientras que ADD puede manejar URL remotos y extracción de alquitrán.
COPY ./myconfig.conf /etc/myapp/myconfig.conf Este comando copia myconfig.conf de su directorio de proyecto a /etc/myapp/myconfig.conf dentro de la imagen Docker.
Para instalar paquetes adicionales, puede modificar el comando RUN que instala paquetes. Es mejor combinar los comandos de instalación de paquetes en una sola instrucción RUN para reducir la cantidad de capas en su imagen Docker.
RUN apt-get update && apt-get install -y
git
cmake
&& rm -rf /var/lib/apt/lists/*Según cada proyecto, pueden ser necesarias bibliotecas específicas. Este comando actualiza las listas de paquetes, instala GIT y CMake , y limpia después para mantener bajo el tamaño de la imagen.
Para evitar capas adicionales en la imagen final de Docker, es una buena práctica modificar el comando RUN apt-get update existente para incluir sus bibliotecas requeridas.
Puede personalizar el DockerFile para cambiar las variables de entorno, descargar diferentes versiones de software o modificar el proceso de instalación.
ENV MY_CUSTOM_VAR=myvalue Esto establece una variable de entorno MY_CUSTOM_VAR que su aplicación puede utilizar.
Después de personalizar su DockerFile, puede construir su imagen Docker utilizando el comando docker build .
docker build -t my-custom-paserver:latest . Este comando construye una imagen Docker llamada my-custom-paserver con la latest etiqueta, utilizando DockerFile en el directorio actual.
Para los valores que podrían cambiar entre compilaciones (como contraseñas o números de versión), puede usar instrucciones ARG en su DockerFile y pasar los valores con la opción --build-arg durante la compilación.
ARG password=securepassConstruir con una contraseña personalizada:
docker build --build-arg password=mypassword -t my-custom-paserver:latest .build.sh ] que puede usarse como plantilla para simplificar las compilaciones personalizadas.linux/amd64 . Para evitar posibles problemas en la configuración del brazo, cree la imagen con el arg --platform linux/amd64RUN única cuando sea posible..dockerignore : agregue un archivo .dockerignore a su proyecto para evitar copiar archivos innecesarios en su imagen de Docker.Este software es Copyright © 2024 por Embarcadero Technologies, Inc.
Solo puede usar este software si es un licenciatario autorizado de un producto de herramientas de desarrollador de Embarcadero. Consulte el último acuerdo de licencia de software para cualquier actualización.