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

[code lang=”groovy”]
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
[/code]

Menjalankan/Build docker dengan docker compose

[code lang=”bash”]
docker-compose up –detach –build
[/code]

Menghentikan aplikasi docker

[code lang=”bash”]
docker-compose down
[/code]

Menghapus image, container, network yang sudah tidak digunakan lagi

[code lang=”bash”]
docker system prune
[/code]

Tips: gunakan portainer untuk memudahkan manajemen stack docker

,

Leave a Reply

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