A Guide to Deploying Dolphinscheduler with Docker

Apache DolphinScheduler
2 min readJun 25, 2024

--

Author | Chen Yifei

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
  • First, ensure the ports required for service startup are not occupied:
port_list=(12345 25333 5432)
for port in ${port_list[@]}; do
netstat -an | grep $port
done
# No output means the ports are not occupied
  • If the ports are occupied:
vim docker-compose.yml
  • Find dolphinscheduler-api and modify the ports.
# 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

Join the Community

There are many ways to participate and contribute to the DolphinScheduler community, including:

Documents, translation, Q&A, tests, codes, articles, keynote speeches, etc.

We assume the first PR (document, code) to contribute to be simple and should be used to familiarize yourself with the submission process and community collaboration style.

So the community has compiled the following list of issues suitable for novices: https://github.com/apache/dolphinscheduler/contribute

  • List of non-newbie issues:

https://github.com/apache/dolphinscheduler/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22+

  • How to contribute:

Https://github.com/apache/dolphinscheduler/blob/8944fdc62295883b0fa46b137ba8aee4fde9711a/docs/docs/en/contribute/join/contribute.md

  • GitHub Code Repository: https://github.com/apache/dolphinscheduler
  • Official Website:https://dolphinscheduler.apache.org/
  • Mail List:dev@dolphinscheduler@apache.org
  • Twitter:@DolphinSchedule
  • YouTube:https://www.youtube.com/@apachedolphinscheduler
  • Slack:https://s.apache.org/dolphinscheduler-slack
  • Contributor Guide:https://dolphinscheduler.apache.org/en-us/community/index.html

Your Star for the project is essential, don’t hesitate to lighten a Star for Apache DolphinScheduler ❤️

--

--

Apache DolphinScheduler

A distributed and easy-to-extend visual workflow scheduler system