Docker deployment aims to start and deploy Apache Dolphinscheduler services quickly in a container.

Prerequisites

Single-node Deployment of Dolphinscheduler Using Containers

  1. Please download the source package apache-dolphinscheduler — src.tar.gz from Download

port_list=(12345 25333 5432)
for port in ${port_list[@]}; do
  netstat -an | grep $port
done
# No output means the ports are not occupied

vim docker-compose.yml

# Default content
ports:
   - "12345:12345"
   - "25333:25333"

# Modify as needed, e.g.:
ports:
   - "22345:12345"
   - "35333:25333"

2. Install Postgresql and Dolphinscheduler services:

tar -zxvf apache-dolphinscheduler-<version>-src.tar.gz
cd apache-dolphinscheduler-<version>-src/deploy/docker
# Initialize database, etc.
docker-compose --profile schema up -d 
# Start all services
docker-compose --profile all up -d

Distributed Deployment of Dolphinscheduler Using Containers

  1. After modifying the .env file in the deploy folder, copy it to other servers.

  2. On other servers, where you want to start Dolphinscheduler services (e.g., Dolphinscheduler-api), execute the startup command:

docker-compose up -d dolphinscheduler-api

Using Non-containerized Postgresql and Zookeeper

  1. Modify environment variables:

# Enter the Deploy directory
cd apache-dolphinscheduler-<version>-src/deploy/docker
vim .env
## Modify the following contents
# Database name
DATABASE=dolp
# Database connection address
SPRING_DATASOURCE_URL=jdbc:postgresql://10.0.8.14:15432/dolp
# Zookeeper connection address
REGISTRY_ZOOKEEPER_CONNECT_STRING=10.0.8.14:12181
# Username for connecting to the database
SPRING_DATASOURCE_USERNAME=dolp
# Password for connecting to the database
SPRING_DATASOURCE_PASSWORD=111111

  1. Initialization:

docker-compose --profile schema up -d

  1. Start Dolphinscheduler services:
# Start the worker service
docker-compose up -d dolphinscheduler-worker
# Start the master service
docker-compose up -d dolphinscheduler-master
# Start the alert service
docker-compose up -d dolphinscheduler-alert
# Start the API service
docker-compose up -d dolphinscheduler-api