Bạn có thể tham khảo template sau dành cho docker-compose có support Laravel Octane
version: '3'
services:
app:
image: octane_app # tên của image
container_name: octane_app # tên của container
volumes:
- ./:/var/www/html # đường dẫn của code Laravel trên máy tính host
environment:
APP_NAME: ${APP_NAME}
APP_ENV: ${APP_ENV}
APP_KEY: ${APP_KEY}
APP_DEBUG: ${APP_DEBUG}
APP_URL: ${APP_URL}
LOG_CHANNEL: ${LOG_CHANNEL}
DB_CONNECTION: ${DB_CONNECTION}
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT}
DB_DATABASE: ${DB_DATABASE}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
OCTANE_ENABLED: true # kích hoạt Octane
ports:
- "80:8000" # cổng truy cập ứng dụng
worker:
image: octane_app
container_name: octane_worker
command: php artisan queue:work --once
volumes:
- ./:/var/www/html
environment:
APP_NAME: ${APP_NAME}
APP_ENV: ${APP_ENV}
APP_KEY: ${APP_KEY}
APP_DEBUG: ${APP_DEBUG}
APP_URL: ${APP_URL}
LOG_CHANNEL: ${LOG_CHANNEL}
DB_CONNECTION: ${DB_CONNECTION}
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT}
DB_DATABASE: ${DB_DATABASE}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
OCTANE_ENABLED: true
depends_on:
- db # sử dụng dịch vụ db để kết nối đến MariaDB
- redis # sử dụng dịch vụ redis để lưu trữ Cache
nginx:
image: nginx:alpine
container_name: octane_nginx
ports:
- "8000:80" # cổng truy cập ứng dụng
volumes:
- ./:/var/www/html
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- app
db:
image: mariadb:10.6
container_name: octane_db
volumes:
- ./docker/mariadb/data:/var/lib/mysql # đường dẫn để lưu trữ dữ liệu của MariaDB
environment:
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
redis:
image: redis:alpine
container_name: octane_redis
volumes:
- ./docker/redis/data:/data # đường dẫn để lưu trữ dữ liệu của Redis
Trong đó, bạn cần cấu hình các biến môi trường để kết nối đến MariaDB, chẳng hạn như tên database, tên user, password, và root password. Bạn cũng cần đặt đường dẫn để lưu trữ dữ liệu của MariaDB.
Đối với Redis, bạn cũng cần đặt đường dẫn cho phù hợp
Nhận xét
Đăng nhận xét