Skip to content
Snippets Groups Projects
Commit 9b6a8d4d authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Correct DBSCAN Dockerfile

parent bce51261
No related branches found
No related tags found
2 merge requests!294Release TeraFlowSDN 4.0,!292Resolve "Minor corrections in gNMI device driver unitary tests and service"
...@@ -27,19 +27,6 @@ RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \ ...@@ -27,19 +27,6 @@ RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \
wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \ wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \
chmod +x /bin/grpc_health_probe chmod +x /bin/grpc_health_probe
# Creating a user for security reasons
RUN groupadd -r teraflow && useradd -u 1001 --no-log-init -r -m -g teraflow teraflow
USER teraflow
# set working directory
RUN mkdir -p /home/teraflow/controller/common
WORKDIR /home/teraflow/controller
# Get Python packages per module
ENV VIRTUAL_ENV=/home/teraflow/venv
RUN python3 -m venv ${VIRTUAL_ENV}
ENV PATH="${VIRTUAL_ENV}/bin:${PATH}"
# Get generic Python packages # Get generic Python packages
RUN python3 -m pip install --upgrade pip RUN python3 -m pip install --upgrade pip
RUN python3 -m pip install --upgrade setuptools wheel RUN python3 -m pip install --upgrade setuptools wheel
...@@ -47,36 +34,35 @@ RUN python3 -m pip install --upgrade pip-tools ...@@ -47,36 +34,35 @@ RUN python3 -m pip install --upgrade pip-tools
# Get common Python packages # Get common Python packages
# Note: this step enables sharing the previous Docker build steps among all the Python components # Note: this step enables sharing the previous Docker build steps among all the Python components
COPY --chown=teraflow:teraflow common_requirements.in common_requirements.in WORKDIR /var/teraflow
COPY common_requirements.in common_requirements.in
RUN pip-compile --quiet --output-file=common_requirements.txt common_requirements.in RUN pip-compile --quiet --output-file=common_requirements.txt common_requirements.in
RUN python3 -m pip install -r common_requirements.txt RUN python3 -m pip install -r common_requirements.txt
# Add common files into working directory # Add common files into working directory
WORKDIR /home/teraflow/controller/common WORKDIR /var/teraflow/common
COPY --chown=teraflow:teraflow src/common/. ./ COPY src/common/. ./
RUN rm -rf proto RUN rm -rf proto
# Create proto sub-folder, copy .proto files, and generate Python code # Create proto sub-folder, copy .proto files, and generate Python code
RUN mkdir -p /home/teraflow/controller/common/proto RUN mkdir -p /var/teraflow/common/proto
WORKDIR /home/teraflow/controller/common/proto WORKDIR /var/teraflow/common/proto
RUN touch __init__.py RUN touch __init__.py
COPY --chown=teraflow:teraflow proto/*.proto ./ COPY proto/*.proto ./
RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
RUN rm *.proto RUN rm *.proto
RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \; RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
# Create module sub-folders # Create component sub-folders, get specific Python packages
RUN mkdir -p /home/teraflow/controller/dbscanserving RUN mkdir -p /var/teraflow/dbscanserving
WORKDIR /home/teraflow/controller WORKDIR /var/teraflow/dbscanserving
COPY src/dbscanserving/requirements.in requirements.in
# Get Python packages per module RUN pip-compile --quiet --output-file=requirements.txt requirements.in
COPY --chown=teraflow:teraflow ./src/dbscanserving/requirements.in dbscanserving/requirements.in RUN python3 -m pip install -r requirements.txt
# consider common and specific requirements to avoid inconsistencies with dependencies
RUN pip-compile --quiet --output-file=dbscanserving/requirements.txt dbscanserving/requirements.in common_requirements.in
RUN python3 -m pip install -r dbscanserving/requirements.txt
# Add component files into working directory # Add component files into working directory
COPY --chown=teraflow:teraflow ./src/dbscanserving/. dbscanserving WORKDIR /var/teraflow
COPY src/dbscanserving/. dbscanserving/
# Start the service # Start the service
ENTRYPOINT ["python", "-m", "dbscanserving.service"] ENTRYPOINT ["python", "-m", "dbscanserving.service"]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment