Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
controller
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
TFS
controller
Commits
9b6a8d4d
Commit
9b6a8d4d
authored
6 months ago
by
Lluis Gifre Renom
Browse files
Options
Downloads
Patches
Plain Diff
Correct DBSCAN Dockerfile
parent
bce51261
No related branches found
Branches containing commit
No related tags found
Tags containing commit
2 merge requests
!294
Release TeraFlowSDN 4.0
,
!292
Resolve "Minor corrections in gNMI device driver unitary tests and service"
Changes
1
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/dbscanserving/Dockerfile
+15
-29
15 additions, 29 deletions
src/dbscanserving/Dockerfile
with
15 additions
and
29 deletions
src/dbscanserving/Dockerfile
+
15
−
29
View file @
9b6a8d4d
...
@@ -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"]
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment