| Perintah | Fungsi |
|---|
docker pull nginx | = Download image Nginx |
docker images | = Lihat daftar image |
docker run -d -p 8080:80 nginx | = Jalankan container Nginx |
docker ps | = Lihat container yang sedang berjalan |
docker stop <container_id> | = Hentikan container |
docker rm <container_id> | = Hapus container |
docker rmi <image_id> | = Hapus image |
docker rename <nama lama> <nama baru>
Menjalankan Docker Test
docker run -d -p 8080:80 --name nginx-test -v "d:\docker:/usr/share/nginx/html" nginx
Menjalankan Docker dengan Laravel yang sudah ada
1. Buat docker-compose.yml di dalam laravel
1. Buat docker-compose.yml di dalam laravel
version: '3.8'
services:
# PHP (Laravel)
app:
build:
context: .
dockerfile: ./php/DockerFile
container_name: laravel-app
volumes:
- ./:/var/www/html
networks:
- laravel
ports:
- "9000:9000"
# Nginx
web:
image: nginx:latest
container_name: nginx-laravel
ports:
- "8080:80"
volumes:
- ./:/var/www/html
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- app
networks:
- laravel
# MySQL
db:
image: mysql:8.0
container_name: mysql-laravel
restart: always
environment:
MYSQL_DATABASE: db_presensimaster
MYSQL_ROOT_PASSWORD: root
ports:
- "3306:3306"
volumes:
- ./mysql:/var/lib/mysql
networks:
- laravel
networks:
laravel:
driver: bridge
2. Buat folder php dan file DockerFile
FROM php:8.2-fpm
# Install system dependencies
RUN apt-get update && apt-get install -y \
build-essential \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
libonig-dev \
libxml2-dev \
libzip-dev \
zip unzip git curl
# Install PHP extensions
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd zip
# Install Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
WORKDIR /var/www/html
3. Buat folder nginx -> default.conf
server {
listen 80;
index index.php index.html;
server_name localhost;
root /var/www/html/public;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass app:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
4. Lalu jalankan Docker Compose
docker compose up -d --build
Sekarang waktu nya masuk ke container untuk menjalankan artisan command
docker exec -it laravel-app bash
composer install
php artisan migrate
masuk ke mysql
docker exec -it mysql-laravel bash
cek konkesi db
mysql -h db -u root -p
SHOW DATABASES; = untuk cek isi mysql
0 komentar:
Posting Komentar