Dokumentasi Docker Image v2.0.0 - ramaid/image

πŸ–₯️ Screencast

πŸ†• Perubahan Utama dari v1.8.0

Versi 2.0.0 membawa perubahan signifikan dari versi sebelumnya (ramageek/image:1.8.0):

Perubahan Repository

  • Sebelumnya: ramageek/image:1.8.0
  • Sekarang: ramaid/image:2.0.0

Penyederhanaan Varian

Versi 1.8.0 (ramageek/image):

Versi 2.0.0 (ramaid/image):

πŸ— Arsitektur Image

Base System

  • Menggunakan Alpine Linux untuk mengoptimalkan ukuran image
  • UID/GID www-data: 82:82 (Native Alpine)

Varian yang Tersedia

1. fullstack-cli

docker pull ramaid/image:php8.3-fullstack-cli

Digunakan untuk:

  • Development environment
  • CI/CD pipelines
  • Command-line operations

2. fullstack-fpm

docker pull ramaid/image:php8.3-fullstack-fpm

Fitur tambahan:

  • Exposed port 9000
  • Optimized untuk production deployment
  • PHP-FPM configuration

⚠️ Catatan Penting

Permissions

Karena menggunakan UID/GID Alpine (82:82), perhatikan hal berikut:

# Menyesuaikan permissions untuk volume mounts
chown -R 82:82 /path/to/your/volume

Volume Mounts

volumes:
  - ./src:/var/www/html

πŸ”„ Migrasi dari v1.8.0

Dari ramageek/image:1.8.0

# Sebelumnya
docker pull ramageek/image:php8.3-laravel-dev-v1.8.0-arch    # untuk x64
docker pull ramageek/image:php8.3-laravel-dev-v1.8.0         # untuk ARM64

# Sekarang
docker pull ramaid/image:php8.3-fullstack-fpm    # works on both architectures

Perubahan di docker-compose.yml

# Sebelumnya
services:
  app:
    image: ramageek/image:php8.3-laravel-dev-v1.8.0
  ports:
    - "8080:8080"

# Sekarang
services:
  app:
    image: ramaid/image:php8.3-fullstack-fpm
  ports:
    - "8080:9000"

πŸ“Š Perbandingan Ukuran Image

Berkat penggunaan Alpine Linux dan optimasi multi-stage builds:

  • Ukuran image lebih kecil
  • Dependencies lebih minimal
  • Build time lebih cepat

πŸ›  Penggunaan

CLI Version

docker run -it --rm ramaid/image:php8.3-fullstack-cli bash

FPM Version

# docker-compose.yml
services:
  app:
    image: ramaid/image:php8.3-fullstack-fpm
    ports:
      - "9000:9000"

πŸ” Pertimbangan Keamanan

  • Image menggunakan unprivileged user (www-data)
  • Minimal attack surface dengan Alpine Linux
  • Regular security updates

πŸ“ Tips

  1. Selalu gunakan versi spesifik dalam production
  2. Cek permissions saat mounting volumes
  3. Gunakan fullstack-cli untuk development dan CI/CD
  4. Gunakan fullstack-fpm untuk production deployments

πŸ†˜ Troubleshooting

Permission Issues

# Fix permissions jika menggunakan volume mounts
docker exec -it container_name chown -R www-data:www-data /var/www/html

Port Conflicts

# Cek if port 9000 sudah digunakan (untuk fullstack-fpm)
lsof -i :9000

πŸ“ž Support

πŸ“… Changelog v2.0.0

  • Migrasi ke repository baru (ramaid/image)
  • Penyederhanaan varian image
  • Optimasi ukuran dengan Alpine Linux
  • Support multi-architecture dalam satu image
  • Standardisasi UID/GID untuk www-data
  • Penambahan Bun runtime
  • Peningkatan performa dan keamanan

Terakhir diperbarui tanggal 31 Desember 2024