Skip to content

Instantly share code, notes, and snippets.

@reoring
Created November 17, 2018 08:38
Show Gist options
  • Save reoring/73b27ebfd525f31c37a3c3132982861c to your computer and use it in GitHub Desktop.
Save reoring/73b27ebfd525f31c37a3c3132982861c to your computer and use it in GitHub Desktop.
Dockerハンズオン Laravel + Docker + docker-compose
# 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