A Guide to Deploying Dolphinscheduler with Docker
Author | Chen Yifei
Docker deployment aims to start and deploy Apache Dolphinscheduler services quickly in a container.
Prerequisites
Docker
Single-node Deployment of Dolphinscheduler Using Containers
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
After modifying the .env file in the deploy folder, copy it to other servers.
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
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
Initialization:
docker-compose --profile schema up -d
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:
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 ❤️