You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tree:
9052dad4dc
2.0.7-release
2.0.8-release
2.0.9-release
3.0.0-release
3.0.0/version-upgrade
3.0.1-release
3.0.2-release
3.0.3-release
3.0.4-release
3.0.5-release
3.0.6-release
3.1.0-release
3.1.1-release
3.1.2-release
3.1.3-release
3.1.4-release
3.1.5-release
3.1.6-release
3.1.7-release
3.1.8-release
3.1.9-release
3.2.0-release
3.2.1-prepare
3.2.1-release
3.2.2-prepare
3.2.2-release
dev
1.0.0
1.0.1
1.0.2
1.0.3
1.0.4
1.0.5
1.1.0
1.1.0-preview
1.2.0
1.2.1
1.3.0
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5
1.3.6
1.3.8
1.3.9
2.0.0
2.0.0-alpha
2.0.1
2.0.2
2.0.3
2.0.4
2.0.5
2.0.6
2.0.7
2.0.8
2.0.9
3.0.0
3.0.0-alpha
3.0.0-beta-1
3.0.0-beta-2
3.0.1
3.0.2
3.0.3
3.0.4
3.0.5
3.0.6
3.1.0
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
3.1.6
3.1.7
3.1.8
3.1.9
3.2.0
3.2.1
3.2.2
test
v2.3.3
v2.3.4.202211081355
v2.3.4.202211091515
vdev-20220412-1028
vdev-20220414-1341
${ noResults }
DolphinScheduler/docker/build/Dockerfile
96 lines
3.7 KiB
96 lines
3.7 KiB
#
|
|||
# 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.
|
|||
#
|
|||
|
|||
FROM nginx:alpine
|
|||
|
|||
ARG VERSION
|
|||
|
|||
ENV TZ Asia/Shanghai
|
|||
ENV LANG C.UTF-8
|
|||
ENV DEBIAN_FRONTEND noninteractive
|
|||
|
|||
#1. install dos2unix shadow bash openrc python sudo vim wget iputils net-tools ssh pip tini kazoo.
|
|||
#If install slowly, you can replcae alpine's mirror with aliyun's mirror, Example:
|
|||
#RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories
|
|||
RUN apk update && \
|
|||
apk add dos2unix shadow bash openrc python python3 sudo vim wget iputils net-tools openssh-server py2-pip tini && \
|
|||
apk add --update procps && \
|
|||
openrc boot && \
|
|||
pip install kazoo
|
|||
|
|||
#2. install jdk
|
|||
RUN apk add openjdk8
|
|||
ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk
|
|||
ENV PATH $JAVA_HOME/bin:$PATH
|
|||
|
|||
#3. install zk
|
|||
RUN cd /opt && \
|
|||
wget https://downloads.apache.org/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.tar.gz && \
|
|||
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz && \
|
|||
mv apache-zookeeper-3.5.7-bin zookeeper && \
|
|||
mkdir -p /tmp/zookeeper && \
|
|||
rm -rf ./zookeeper-*tar.gz && \
|
|||
rm -rf /opt/zookeeper/conf/zoo_sample.cfg
|
|||
ADD ./conf/zookeeper/zoo.cfg /opt/zookeeper/conf
|
|||
ENV ZK_HOME /opt/zookeeper
|
|||
ENV PATH $ZK_HOME/bin:$PATH
|
|||
|
|||
#4. install pg
|
|||
RUN apk add postgresql postgresql-contrib
|
|||
|
|||
#5. add dolphinscheduler
|
|||
ADD ./apache-dolphinscheduler-incubating-${VERSION}-dolphinscheduler-bin.tar.gz /opt/
|
|||
RUN mv /opt/apache-dolphinscheduler-incubating-${VERSION}-dolphinscheduler-bin/ /opt/dolphinscheduler/
|
|||
ENV DOLPHINSCHEDULER_HOME /opt/dolphinscheduler
|
|||
|
|||
#6. modify nginx
|
|||
RUN echo "daemon off;" >> /etc/nginx/nginx.conf && \
|
|||
rm -rf /etc/nginx/conf.d/*
|
|||
ADD ./conf/nginx/dolphinscheduler.conf /etc/nginx/conf.d
|
|||
|
|||
#7. add configuration and modify permissions and set soft links
|
|||
ADD ./checkpoint.sh /root/checkpoint.sh
|
|||
ADD ./startup-init-conf.sh /root/startup-init-conf.sh
|
|||
ADD ./startup.sh /root/startup.sh
|
|||
ADD ./conf/dolphinscheduler/*.tpl /opt/dolphinscheduler/conf/
|
|||
ADD ./conf/dolphinscheduler/logback/* /opt/dolphinscheduler/conf/
|
|||
ADD conf/dolphinscheduler/env/dolphinscheduler_env.sh /opt/dolphinscheduler/conf/env/
|
|||
RUN chmod +x /root/checkpoint.sh && \
|
|||
chmod +x /root/startup-init-conf.sh && \
|
|||
chmod +x /root/startup.sh && \
|
|||
chmod +x /opt/dolphinscheduler/conf/env/dolphinscheduler_env.sh && \
|
|||
chmod +x /opt/dolphinscheduler/script/*.sh && \
|
|||
chmod +x /opt/dolphinscheduler/bin/*.sh && \
|
|||
chmod +x /opt/zookeeper/bin/*.sh && \
|
|||
dos2unix /root/checkpoint.sh && \
|
|||
dos2unix /root/startup-init-conf.sh && \
|
|||
dos2unix /root/startup.sh && \
|
|||
dos2unix /opt/dolphinscheduler/conf/env/dolphinscheduler_env.sh && \
|
|||
dos2unix /opt/dolphinscheduler/script/*.sh && \
|
|||
dos2unix /opt/dolphinscheduler/bin/*.sh && \
|
|||
dos2unix /opt/zookeeper/bin/*.sh && \
|
|||
rm -rf /bin/sh && \
|
|||
ln -s /bin/bash /bin/sh && \
|
|||
mkdir -p /tmp/xls
|
|||
|
|||
#8. remove apk index cache
|
|||
RUN rm -rf /var/cache/apk/*
|
|||
|
|||
#9. expose port
|
|||
EXPOSE 2181 2888 3888 5432 5678 1234 12345 50051 8888
|
|||
|
|||
ENTRYPOINT ["/sbin/tini", "--", "/root/startup.sh"]
|