osdu-data-load-tno/Dockerfile

72 строки
2.1 KiB
Docker
Исходник Постоянная ссылка Обычный вид История

2022-09-15 17:06:18 +03:00
# docker build --build-arg AZURE_TENANT=$AZURE_TENANT --file Dockerfile --tag osdu-data-load .
2022-06-30 23:54:13 +03:00
# docker run -v $(pwd)/open-test-data:/app/open-test-data -v $(pwd)/output:/app/output --env-file .env --env OSDU_ENDPOINT=https://$NAME.$DOMAIN --env DATA_PARTITION=$NAME-$PARTITION --env LEGAL_TAG=$LEGAL_TAG --env CLIENT_ID=$CLIENT_ID --env CLIENT_SECRET=$CLIENT_SECRET osdu-data-load /app/load.sh
FROM mcr.microsoft.com/mirror/docker/library/ubuntu:20.04 as base
2022-06-30 02:52:23 +03:00
ARG AZURE_TENANT
ARG LEGAL_TAG
ARG OSDU_ENDPOINT
ARG DATA_PARTITION
ARG ACL_VIEWER=data.default.viewers
ARG ACL_OWNER=data.default.owners
2022-09-15 17:06:18 +03:00
ARG DOMAIN=dataservices.energy
ARG USERNAME=app
ARG USER_UID=1000
ARG USER_GID=$USER_UID
# Install packages
RUN apt-get update \
&& apt-get -y --no-install-recommends install \
python3 \
python3-pip \
jq \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN ln -s /usr/bin/python3 /usr/bin/python
# Set Working Directory
WORKDIR /app
# Create Default User
RUN groupadd --gid $USER_GID $USERNAME \
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
#
# [Optional] Add sudo support. Omit if you don't need to install software after connecting.
&& apt-get update \
&& apt-get install -y sudo \
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
&& chmod 0440 /etc/sudoers.d/$USERNAME \
&& chown -R $USERNAME:$USER_GID /app
USER $USERNAME
# Install Python Requirements
COPY requirements.txt requirements.txt
RUN echo "**** Install Python Requirements ****" && \
pip install --upgrade pip && \
pip install -r requirements.txt
RUN mkdir open-test-data && mkdir output
# Copy Load Scripts
COPY src src
COPY .env .env
COPY setup.py setup.py
COPY load.sh load.sh
2022-07-05 20:18:23 +03:00
RUN sudo chown -R app:app src
RUN sudo chown app:app setup.py
RUN sudo chown app:app load.sh
# Generate Manifests
ENV AZURE_TENANT=$AZURE_TENANT
ENV LOGIN_ENDPOINT=https://login.microsoftonline.com/${AZURE_TENANT}/oauth2/v2.0/token
ENV DATA_PARTITION=$DATA_PARTITION
ENV ACL_OWNER=$ACL_OWNER
ENV ACL_VIEWER=$ACL_VIEWER
ENV OSDU_ENDPOINT=$OSDU_ENDPOINT
ENV DOMAIN=$DOMAIN
ENV LEGAL_TAG=$LEGAL_TAG
ENV PIP_INSTALL=false
2022-06-30 23:54:13 +03:00
CMD /app/load.sh