I have Flask application which is running docker container, I have to run host OS commands from Flask Application,
How to execute Host OS commands from Docker container?
My Docker image File:
FROM python:3.8-slim
RUN mkdir /app
WORKDIR /app
ADD requirements.txt /app
RUN pip3 install -r requirements.txt
ADD . /app
RUN chmod +x ./entrypoint.sh
ENTRYPOINT ["sh", "entrypoint.sh"]
app.py
import subprocess
from flask import Flask
app = Flask(__name__)
app.config['DEBUG'] = True
# Run host command from container
def run_os_cmd():
return subprocess.checkout(["/usr/bin/some-cmd", "few-options"])
@app.route("/")
def hello_world():
cmd_output = run_os_cmd()
return cmd_output
if __name__ == "__main__":
app.run(host='0.0.0.0')
Host is Linux
Note, I cannot install host command package inside docker container.