Install Docker
Install Docker di Ubuntu dimulai dengan mengunduh key untuk repository Docker.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Memasang repository Docker.
echo \
“deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Memperbarui cache repository.
apt update
Menginstall Docker.
apt install docker-ce docker-ce-cli containerd.io -y
Install Docker Compose
Docker Compose adalah alat yang digunakan untuk mendefinisikan dan menjalankan aplikasi Docker multi-container. Dengan menggunakan file konfigurasi, biasanya bernama docker-compose.yml, Anda dapat menentukan layanan, jaringan, dan volume yang diperlukan untuk aplikasi Anda.
Kelebihan Docker Compose
- Manajemen Multi-Container: Mengelola beberapa container dengan satu perintah.
- Definisi yang Konsisten: Semua konfigurasi disimpan dalam satu file YAML.
- Portabilitas: Mudah digunakan di berbagai lingkungan (development, staging, production).
- Kompatibilitas dengan Docker CLI: Berjalan bersama ekosistem Docker.
wget https://github.com/docker/compose/releases/download/v2.19.0/docker-compose-linux-x86_64 -O /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose
File Docker Compose
Membuat direktori untuk project lemp.
mkdir -p lemp/www
cd lemp
Membuat file index.php yang berisi fungsi phpinfo().
echo “” > www/index.php
Membuat file Docker Compose.
nano docker-compose.yml
version: ‘3.7’
services:
php-nginx:
image: webdevops/php-nginx:8.2-alpine
ports:
– 80:80
volumes:
– ./www:/app
mariadb:
image: mariadb:10.6.8
volumes:
– vol-mariadb:/var/lib/mysql
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: “no”
MYSQL_ROOT_PASSWORD: “secret”
MYSQL_USER: “myuser”
MYSQL_PASSWORD: “mypass”
MYSQL_DATABASE: “mydb”
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
– mariadb:db
ports:
– 8181:80
volumes:
vol-mariadb:
Ringkasan docker-compose.yml:
- Membuat container php-nginx yang berbasis image webdevops/php-nginx:8.2-alpine, forward port 80 di host ke port 80 di container, dan mounting direktori www ke /app.
- Membuat container mariadb yang berbasis image mariadb:10.6.8, membuat dan mounting volume vol-mariadb ke /var/www/lib/mysql, dan set environment variabel.
- Membuat container phpmyadmin yang berbasis image phpmyadmin/phpmyadmin, terhubung ke container mariadb, dan forward port 8181 di host ke port 80 di container.
Build Container
Menjalankan docker-compose untuk build container.
docker-compose up -d
Setelah build container selesai, cek apakah container sudah berjalan.
docker ps
Browse http://IP-server untuk menguji apakah Nginx web server sudah aktif dan dapat menjalankan script PHP..
sumber : https://musaamin.web.id/install-lemp-dengan-docker/