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