I'm trying to create dockerfile similar to the following one:
FROM python:3.8-slim-buster
ENV FOO=bar
RUN python my_python_file.py # use the FOO variable, and set PY_VERSION variable
FROM python:<PY_VERSION>-slim-buster
# continue dockerfile...
- How can I use the FOO variable from within my python
my_python_file
script?
(I think I can passFOO
as an argument to theRUN python my_python_file.py
command, and read the argument from within themy_python_file.py
file. I wonder if there's an easier way, something that maybe usingos.getenv('FOO')
) - How can I set
PY_VERSION
from within my pythonmy_python_file
script, to later be used by the 2ndFROM
command -FROM python:<PY_VERSION>-slim-buster
?
I dont have any control over how the docker build
command is being executed.
CodePudding user response:
How can I use the FOO variable from within my python my_python_file script?
Read it from environment variables.
omething that maybe using os.getenv('FOO'))
How do I access environment variables in Python?
How can I set PY_VERSION from within my python my_python_file script, to later be used by the 2nd FROM command - FROM python:<PY_VERSION>-slim-buster?
That is not possible.
Dynamically get/set dockerfile variables
Generate the Dockerfile file from a wrapper script.