FROM php
LABEL maintainer "[email protected]"
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
RUN php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
RUN php composer-setup.php
RUN php -r "unlink('composer-setup.php');"
RUN mv composer.phar /usr/bin/composer
RUN chmod +x /usr/bin/composer
RUN apt update
RUN apt install zip unzip
docker build -t phptools-local .
FROM php
LABEL maintainer "[email protected]"
RUN apt update
RUN docker-php-ext-configure pdo_mysql && docker-php-ext-install pdo_mysql
docker build -t phpdev-local .
docker run --rm -it -v $(pwd):/app -w="/app" phptools-local composer create-project laravel/laravel .
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
version: "3"
services:
web:
image: phpdev-local
deploy:
replicas: 1
ports:
- 8000:8000
volumes:
- ./:/webapp
working_dir: /webapp
command: "php artisan serve --host=0.0.0.0"
database:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=db
- MYSQL_USER=user
- MYSQL_PASSWORD=password
deploy:
replicas: 1
sudo docker-compose exec container_name php artisan migrate
sudo docker exec container_name php artisan migrate
DB_CONNECTION=mysql
DB_HOST=database
DB_PORT=3306
DB_DATABASE=db
DB_USERNAME=user
DB_PASSWORD=password
Laravel with docker-compose
PHP Startup: Unable to load dynamic library 'pdo_mysql