Laradock là 1 môi trường cài đặt khá tốt dành cho php developer laravel với nền tảng docker. Đen 1 cái là mặc định bạn cài laradock vào thì nó chưa có extention để kết nối tới postgre. Cũng giống như khi bạn cài xampp vào máy, rồi cài postgre vào máy nhưung trong php.init chưa mở sẵn extention kết nối postgre thì bạn không thể kết nối đến postgre.
Rất may mắn là bạn hoàn toàn có thể cấu hình lại cái driver kết nối postgre cho laradock trong file .env của laradock.
Trong file laradock/docker-compose.yml, thêm dòng bên dưới vào dịch vụ php-fpm
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
Trong Dockerfile trong thư mục php-fpm, thêm dòng bên dưới vào Dockerfile của phiên bản PHP bạn đang sử dụng
#####################################
# pgsql
#####################################
ARG INSTALL_PGSQL=false
RUN if [ ${INSTALL_PGSQL} = true ]; then \
# Install the pgsql extension
apt-get update -yqq && \
docker-php-ext-install pgsql \
;
fi
#####################################
Cuối cùng vào file .env của laradock chỉnh lại dòng bên dưới thành true:
PHP_FPM_INSTALL_PGSQL=true
Chạy lại lệnh docker-compose build workspace php-fpm để xem kết quả