Dockerfile 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # Licensed to the Apache Software Foundation (ASF) under one
  2. # or more contributor license agreements. See the NOTICE file
  3. # distributed with this work for additional information
  4. # regarding copyright ownership. The ASF licenses this file
  5. # to you under the Apache License, Version 2.0 (the
  6. # "License"); you may not use this file except in compliance
  7. # with the License. You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. FROM openjdk:8-jdk
  17. RUN apt-get update && apt-get install -y jq curl python sudo && apt-get clean
  18. RUN wget -O /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64
  19. RUN chmod +x /usr/local/bin/dumb-init
  20. RUN mkdir -p /etc/security/keytabs && chmod -R a+wr /etc/security/keytabs
  21. ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
  22. ENV PATH $PATH:/opt/hadoop/bin
  23. RUN apt-get install -y jsvc
  24. ENV JSVC_HOME=/usr/bin
  25. RUN addgroup --gid 1000 hadoop
  26. RUN adduser --disabled-password --gecos "" --uid 1000 hadoop --gid 100 --home /opt/hadoop
  27. RUN echo "hadoop ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
  28. RUN chown hadoop /opt
  29. ADD scripts /opt/
  30. WORKDIR /opt/hadoop
  31. VOLUME /data
  32. USER hadoop
  33. ENTRYPOINT ["/usr/local/bin/dumb-init", "--", "/opt/starter.sh"]