Showing posts with label compose. Show all posts
Showing posts with label compose. Show all posts
Published November 21, 2020 by with 0 comment

Docker : Deploy python app with Docker compose


 Halo semua, pada kesempatan kali ini. Kami akan share tutorial medeploy aplikasi python dengan menggunakan docker compose, kalau kita sebelumnya deploy wordpress dengan docker compose, kali ini kita coba deploy aplikasi buatan kita yang menggunakan bahasa pemogram python pada contoh kali ini, untuk langkah-langkahnya sebagai berikut :

1. Buat folder proyek

```bash
$ mkdir my_app; cd my_app
```

2. Buat file aplikasi

```bash
$ vim app.py
```

```python
import time

import redis
from flask import Flask


app = Flask(__name__)
cache = redis.Redis(host='redis', port=6379)


def get_hit_count():
    retries = 5
    while True:
        try:
            return cache.incr('hits')
        except redis.exceptions.ConnectionError as exc:
            if retries == 0:
                raise exc
            retries -= 1
            time.sleep(0.5)


@app.route('/')
def hello():
    count = get_hit_count()
    return 'Hello World! I have been seen {} times.\n'.format(count)

if __name__ == "__main__":
    app.run(host="0.0.0.0", debug=True)
```

3. Buat file requirement

```bash
$ vim requirements.txt
```
```plaintext
flask
redis
```

4. Buat Dockerfile untuk image

```bash
$ vim Dockerfile
```
```bash
FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
```

5. Buat docker compose untuk konfigurasi

```bash
$ vim docker-compose.yml
```
```yaml
version: '3.2'
services:
  web:
    build: .
    ports:
     - "5000:5000"
    volumes:
     - .:/code
  redis:
    image: "redis:alpine"
```

6. Jalankan docker compose

```bash
$ sudo docker-compose up -d
```

7. verifikasi

```bash
$ curl http://localhost:5000

# check docker-compose aktif
$ sudo docker-compose ps
# check environment aplikasi
$ sudo docker-compose run web env
```

Kalau kita check via browser


8. Hapus aplikasi

```bash
$ sudo docker-compose down --volumes
```

Yaps, sampai jumpa di tutorial berikutnya !

Read More
      edit
Published November 20, 2020 by with 0 comment

Docker : Deploy Wordpress app with Compose


 Halo semua, pada kesempatan kali ini kami akan berbagi contoh penerapan dari docker compose dalam membangun sebuah aplikasi, pada contoh kali ini kami akan membangun aplikasi wordpress dengan metode docker compose. Berikut adalah langkah-langkah yang dilakukan :

1. Buat Folder proyek

```bash
$ mkdir /my_wordpress ;cd /my_wordpress
```

2. Buat file konfigurasi docker compose

```bash
$ vim docker-compose.yml
```
```yaml
version: '3.2'

services:
   db:
     image: mysql:5.7
     volumes:
       - dbdata:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: [username]
       MYSQL_PASSWORD: [password]

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: [username]
       WORDPRESS_DB_PASSWORD: [password]
volumes:
    dbdata:
```
```bash
# catatan untuk [username] dan [password] bisa dirubah dengan kebutuhan kita(bebas)
# kalau default seperti [username] dan [password] akan error saat docker-compose di up
```

3. jalankan docker compose

```bash
$ sudo docker-compose up -d
# jika terjadi error saat pull image, biasanya masalah authentikasi silahkan login ke docker hub dengan cara berikut
$ docker login
# masukan username(docker id) dan password
```

4. verifikasi

```bash
$ sudo docker container ls
```

5. hapus aplikasi

```bash
$ sudo docker-compose down --volumes
```

Yaps, sekian dulu. sampai jumpa di tutorial berikutnya!

Read More
      edit
Published November 19, 2020 by with 0 comment

Docker : Docker compose installation

 

Halo semua, pada kesempatan kali ini kami akan berbagi tutorial tentang Docker compose.  Sebelum beranjak ke langkah berikutnya, kita akan review sedikit apa itu docker compose dan bedanya dengan docker biasa. Compose adalah tools untuk mendefinisikan dan menjalankan aplikasi Docker multi-container. Dengan hanya menulis di file konfigurasi,  file digunakan untuk mengonfigurasi layanan aplikasi kita yang berjalan di docker. Kemudian, dengan menggunakan satu perintah, kita dapat membuat dan memulai semua layanan dari konfigurasi tadi. Kurang lebih seperti itu jika kita mengarah kepada pengertian yang ada pada halaman resminya. Jadi, intinya sesuai dengan logo dari docker compose yaitu gurita yang memegangf banyak container , kurang lebih seperti itu. Dengan docker compose  kita dapat menjalankan  banyak container yang saling terhubung hanya dengan menuliskannya pada file konfigurasi dan menjalankannya dengan sekali perintah. Dan jika ada perubahan kita dapat mengubahnya langsung pada file konfigurasi lalu menjalankan ulang(restart) docker composenya. Dan berikut adalah cara untuk installasasinya, untuk contoh penerapannya, ada di tutorial berikut.

1. Mengunduh docker compose
```bash
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
```
2. Mengatur permission dari docker compose
```bash
$ sudo chmod +x /usr/local/bin/docker-compose
```
3. Verifikasi 
```bash
$ sudo docker-compose --version
```
Yaps, sekian dulu. sampai jumpa di tutorial berikutnya!

Read More
      edit