Created
November 17, 2018 08:38
-
-
Save reoring/73b27ebfd525f31c37a3c3132982861c to your computer and use it in GitHub Desktop.
Dockerハンズオン Laravel + Docker + docker-compose
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Dockerハンズオン | |
```bash | |
mkdir docker-handson && cd docker-handson | |
mkdir src laravel | |
``` | |
## install.sh | |
```bash | |
#!/bin/bash | |
docker run -v `pwd`/src:/src composer create-project --prefer-dist laravel/laravel /src/$1 | |
``` | |
``` | |
chmod +x install.sh && ./install.sh mylaravel | |
``` | |
## laravel/Dockerfile | |
``` | |
FROM php:7.2-apache | |
RUN set -x && \ | |
apt-get -y update && \ | |
apt-get install -y libicu-dev wget unzip libpq-dev libsqlite3-dev libbz2-dev && \ | |
NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) && \ | |
docker-php-ext-install -j${NPROC} intl pdo_pgsql pdo_mysql pdo_sqlite pcntl && \ | |
rm -rf /tmp/pear | |
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf | |
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf | |
RUN a2enmod rewrite | |
WORKDIR /var/www | |
``` | |
## docker-compose.yml | |
```yaml | |
version: '3.1' | |
services: | |
web: | |
build: | |
context: ./laravel | |
volumes: | |
- ./src:/var/www | |
environment: | |
APACHE_DOCUMENT_ROOT: /var/www/${PROJECT_NAME}/public | |
ports: | |
- "8080:80" | |
depends_on: | |
- db | |
tty: true | |
stdin_open: true | |
db: | |
image: postgres:10 | |
ports: | |
- "5433:5432" | |
environment: | |
POSTGRES_PASSWORD: dbpass | |
POSTGRES_DB: laravel_test_db | |
``` | |
## .env | |
``` | |
PROJECT_NAME=mylaravel | |
``` | |
* ビルドを実行 | |
``` | |
docker-compose build | |
``` | |
* Laravelを起動 | |
``` | |
docker-compose up -d | |
``` | |
* ブラウザでアクセス | |
http://localhost:8080/ | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment