blob: 2a89b389d1ea5d0e97331b3fdb11ab06d3eb1f7f [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
version: '3.8'
services:
streampark:
image: apache/streampark:latest
ports:
- "10000:10000" # Map port 10000 of the container to port 10000 of the host to allow access to the service on that port
environment:
- TZ=Asia/Shanghai # Container's timezone
- DATASOURCE_DIALECT=h2 # Set the datasource dialect, supports h2, mysql, pgsql, default: h2
# If using MySQL or postgresql, please set the parameters:
# - DATASOURCE_URL=jdbc:mysql://localhost:3306/streampark?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
# - DATASOURCE_URL=jdbc:postgresql://localhost:5432/streampark?stringtype=unspecified
# - DATASOURCE_USERNAME=root # Database username
# - DATASOURCE_PASSWORD=streampark # Database password
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Mount the host's Docker socket inside the container to allow interaction with Docker
- /etc/hosts:/etc/hosts:ro # Mount the host's /etc/hosts file inside the container, read-only access
- ~/.kube:/root/.kube:ro # Mount the host's kube configuration directory inside the container to access the Kubernetes cluster
privileged: true # Grant the container higher privileges, typically for scenarios requiring interaction with host resources
restart: always # Ensure the container always restarts after crashes or host reboots
networks:
- streampark # Use a custom network named streampark
healthcheck: # Set a health check
test: [ "CMD", "curl", "http://streampark:10000" ] # Use curl to check if port 10000 of the container is accessible
interval: 5s # Health check interval is 5 seconds
timeout: 5s # Timeout for each health check is 5 seconds
retries: 120 # The container will be considered unhealthy after 120 failed health checks
networks:
streampark:
driver: bridge # Use the bridge network driver