Konfigurasi Docker Compose

Berkaitan dengan file docker-compose.yaml, berikut adalah penjelasan rinci tentang semua kata kunci atau bagian yang mungkin terdapat dalam konfigurasi tersebut. File ini digunakan untuk mendefinisikan dan mengelola aplikasi multi-container menggunakan Docker Compose, yang menyediakan cara deklaratif untuk menyusun dan menjalankan berbagai layanan dalam lingkungan kontainer Docker.

Versi Docker Compose

version: '3.8'

Services

services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    depends_on:
      - api

Networks

networks:
  app-network:
    driver: bridge

Volumes

volumes:
  data-volume:
    driver: local

Environment Variables

environment:
  MYSQL_ROOT_PASSWORD: example
  MYSQL_DATABASE: myapp

Build Configuration

build:
  context: .
  dockerfile: Dockerfile

Restart Policy

restart: always
links:
  - db:database

Example Docker Compose File

Berikut adalah contoh lengkap dari berbagai kata kunci yang telah dijelaskan di atas dalam satu file docker-compose.yaml:

version: '3.8'

services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    depends_on:
      - api

  api:
    image: node:14
    environment:
      - NODE_ENV=production
    volumes:
      - ./app:/app
    ports:
      - "3000:3000"
    depends_on:
      - db

  db:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=secret
      - MYSQL_DATABASE=myapp
      - MYSQL_USER=myuser
      - MYSQL_PASSWORD=mypassword
    ports:
      - "3306:3306"
    volumes:
      - db-data:/var/lib/mysql

networks:
  app-network:
    driver: bridge

volumes:
  db-data:
    driver: local

environment:
  MYSQL_ROOT_PASSWORD: example
  MYSQL_DATABASE: myapp

restart: always

File docker-compose.yaml ini mengilustrasikan penggunaan berbagai kata kunci yang digunakan untuk mendefinisikan aplikasi multi-container menggunakan Docker Compose. Setiap bagian dan kata kunci memiliki peran penting dalam menentukan bagaimana aplikasi diatur, dibangun, dan dijalankan dalam lingkungan kontainer Docker.


Revision #1
Created 17 December 2024 14:34:24 by Admin
Updated 17 December 2024 15:18:29 by Admin