Manajemen Aplikasi Docker dengan Docker Compose

Docker Compose adalah alat untuk mendefinisikan dan menjalankan aplikasi Docker multi-kontainer.

Compose menggunakan file YAML untuk mengkonfigurasi layanan aplikasi.

Buat sebuah folder untuk menaruh file docker-compose.yml dan folder yang diperlukan.

Berikut adalah contoh file docker-compose.yml yang menjalankan service mariadb php-fpm dan nginx

version: "3.8"

services:
    mariadb:
        container_name: aplikasi-mariadb
        image: docker.io/yohannaftali/yohannaftali-mariadb:latest
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: password_root_anda
            MYSQL_DATABASE: nama_database
        ports:
            - 127.0.0.1:6606:3306
        volumes:
            - /path/ke/folder/database:/var/lib/mysql:rw
            - /path/ke/folder/mariadb/mariadb.conf.d:/etc/mysql/mariadb.conf.d
            - /path/ke/folder/mariadb/logs:/var/log/mysql:rw
        command: mysqld --default-authentication-plugin=mysql_native_password --innodb_use_native_aio=0
    php-fpm:
        container_name: aplikasi-php-fpm
        image: docker.io/yohannaftali/yohannaftali-php7-fpm:latest
        restart: always
        volumes:
            - /path/ke/folder/code:/code:rw
            - /path/ke/folder/php-fpm/www.conf:/etc/php-fpm.d/www.conf:rw
            - /path/ke/folder/php-fpm/php.ini:/usr/local/etc/php/php.ini:rw
            - /path/ke/folder/php-fpm/logs:/var/log:rw
        depends_on:
            - mariadb
    nginx:
        container_name: aplikasi-nginx
        image: docker.io/yohannaftali/yohannaftali-nginx:latest
        restart: always
        ports:
            - 444:443
        volumes:
            - /path/ke/folder/code:/code
            - /path/ke/folder/nginx/default.conf:/etc/nginx/conf.d/default.conf
            - /path/ke/folder/nginx/server.crt:/ssl/server.crt
            - /path/ke/folder/nginx/server.key:/ssl/server.key
            - /path/ke/folder/nginx/logs:/var/log/nginx:rw
        depends_on:
            - php-fpm

Menjalankan/Build docker dengan docker compose

docker-compose up --detach --build

Menghentikan aplikasi docker

docker-compose down

Menghapus image, container, network yang sudah tidak digunakan lagi

docker system prune

Tips: gunakan portainer untuk memudahkan manajemen stack docker

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.