Pada tutorial docker kali ini, kita akan ‘mendockerkan’ aplikasi berbasis Flask. Flask sendiri adalah framework yang ditulis dalam bahasa Python.
Contoh aplikasi sederhana dalam Flask yang kita buat seperti ini:
[sourcecode]
from flask import Flask
app = Flask(__name__)
@app.route(‘/’)
def hello_world():
return ‘Hello, World!’
if __name__ == "__main__":
app.run(debug=True, host="127.0.0.1")
[/sourcecode]
silakan ganti 127.0.0.1 dengan 0.0.0.0, karena 127.0.0.1 hanya bisa diakses dari dalam container docker saja, sedangkan 0.0.0.0 adalah loopback yang bisa diakses dari luar container.
[sourcecode]
from flask import Flask
app = Flask(__name__)
@app.route(‘/’)
def hello_world():
return ‘Hello, World!’
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0")
[/sourcecode]
buat list requirment untuk Python installer pip dengan nama file ‘requirement.txt’:
[sourcecode]
flask
[/sourcecode]
dan taruh semua modul python yang dibutuhkan disana.
kemudian di dalam folder sourcecode, silakan bikin file Dockerfile:
[sourcecode]
FROM ubuntu:18.04
LABEL maintainer "dev@emka.web.id"
RUN apt-get update -y && \
apt-get install -y python3-pip python3-dev
# We copy just the requirements.txt first to leverage Docker cache
COPY ./requirements.txt /app/requirements.txt
WORKDIR /app
RUN pip3 install -r requirements.txt
COPY . /app
ENTRYPOINT [ “python3” ]
CMD [ “main.py” ]
[/sourcecode]
setelah itu build image docker-nya dengan perintah:
docker build -t python_flask .
dengan python_flask adalah nama image. tunggu sampai proses build image berhasil.
untuk ujicoba, silakan jalankan docker container dari basis image diatas:
docker run --name testing -p 5000:5000 -d python_flask:latest
dengan port 5000, nama kontainer ‘testing’ dan basis image ‘python_flask’ versi ‘latest’.
silakan dicoba akses ke alamat http://0.0.0.0:5000