Simple Python Flask server that return headers, remote and local IP addresses
1.3K
Dockerfile:
FROM python:3.12-alpine
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 80
CMD ["python", "app.py"]
requirements.txt:
Flask==3.0.0
Python:
import socket
from flask import Flask, request
app = Flask(__name__)
@app.route("/")
def default():
hostname = socket.gethostname()
address = socket.gethostbyname(hostname)
data_dict = {}
data_dict['Hostname'] = hostname
data_dict['Local-IP'] = address
data_dict['Remote-IP'] = request.remote_addr
data_dict['Headers'] = dict(request.headers)
return data_dict
@app.route("/path1")
def path1():
hostname = socket.gethostname()
address = socket.gethostbyname(hostname)
data_dict = {}
data_dict['app'] = 'PATH1-APP'
data_dict['Hostname'] = hostname
data_dict['Local-IP'] = address
data_dict['Remote-IP'] = request.remote_addr
data_dict['Headers'] = dict(request.headers)
return data_dict
@app.route("/path2")
def path2():
hostname = socket.gethostname()
address = socket.gethostbyname(hostname)
data_dict = {}
data_dict['app'] = 'PATH2-APP'
data_dict['Hostname'] = hostname
data_dict['Local-IP'] = address
data_dict['Remote-IP'] = request.remote_addr
data_dict['Headers'] = dict(request.headers)
return data_dict
if __name__ == "__main__":
app.run(host= '0.0.0.0', port=80, debug = True)
Content type
Image
Digest
sha256:7690ed944…
Size
22.9 MB
Last updated
almost 3 years ago
docker pull ksalawu/web