Hallo semua, Pada kesempatan kali ini kami akan share kelanjutan tentang Dockerfile yang kedua, jika belum melihatnya bisa mampir kesini. Langsung saja, berikut adalah langkah-langkahnya :
1. Membuat folder proyek
```bash $ sudo mkdir -p /docker_train/latihan02 $ cd /docker_train/latihan02 ```
2. Membuat Dockerfile
```bash $ vim Dockerfile ``` ```html # menggunakan source image FROM python:2.7-slim # mengatur folder default app WORKDIR /app # menambahkan file yang ada di folder proyek ke dalam folder app image ADD . /app # Install package dari file konfigurasi tambahan RUN pip install --trusted-host pypi.python.org -r requirements.txt # Expose port untuk aplikasi EXPOSE 80 # Mendefinisikan variabel ENV NAME World # Menjalankan program ketika container dijalankan CMD ["python", "app.py"] ```
3. Buat file tambahan untuk aplikasi
```bash
$ vim requirements.txt
Flask
Redis
```
```bash
$ vim app.py
```
```python
from flask import Flask
from redis import Redis, RedisError
import os
import socket
# Connect to Redis
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)
app = Flask(__name__)
@app.route("/")
def hello():
try:
visits = redis.incr("counter")
except RedisError:
visits = "cannot connect to Redis, counter disabled"
html = "Hello {name}!
" \
"Hostname: {hostname}
" \
"Visits: {visits}"
return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=80)
```
4. Bangun image dari Dockerfile
```bash $ sudo docker build -t friendlyhello . ```
5. Tampilkan image yang sudah dibuat
```bash $ sudo docker image ls ```
6. Menjalankan container dengan image yang sudah dibuat
```bash $ sudo docker run -d -p 4000:80 friendlyhello $ curl http://localhost:4000 ```
Yaps, sekian dulu tutorial kali ini, sampai jumpa di tutorial berikutnya!


0 comments:
Post a Comment