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