-
-
Save hatamiarash7/b18e6a1c2978ba4288f394c7daa38e01 to your computer and use it in GitHub Desktop.
Docker configurations for Laravel
This file contains hidden or 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
DB_CONNECTION = mysql | |
DB_HOST = db | |
DB_PORT = 3306 | |
DB_DATABASE = app | |
DB_USERNAME = root | |
DB_PASSWORD = root |
This file contains hidden or 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
version: "3" | |
services: | |
app: | |
build: | |
context: . | |
dockerfile: Dockerfile | |
image: digitalocean.com/php | |
container_name: app | |
restart: unless-stopped | |
tty: true | |
environment: | |
SERVICE_NAME: app | |
SERVICE_TAGS: dev | |
working_dir: /var/www | |
volumes: | |
- ./:/var/www | |
- ./php/local.ini:/usr/local/etc/php/conf.d/local.ini` | |
networks: | |
- app-network | |
webserver: | |
image: nginx:alpine | |
container_name: webserver | |
restart: unless-stopped | |
tty: true | |
ports: | |
- "80:80" | |
- "443:443" | |
volumes: | |
- ./:/var/www | |
- ./nginx/conf.d/:/etc/nginx/conf.d/ | |
networks: | |
- app-network | |
db: | |
image: mysql:5.7.22 | |
ports: | |
- "6000:3306" | |
container_name: db | |
restart: unless-stopped | |
tty: true | |
environment: | |
MYSQL_DATABASE: app | |
MYSQL_ROOT_PASSWORD: root | |
SERVICE_TAGS: dev | |
SERVICE_NAME: mysql | |
volumes: | |
- dbdata:/var/lib/mysql | |
- ./mysql/my.cnf:/etc/mysql/my.cnf | |
networks: | |
- app-network | |
phpmyadmin: | |
image: phpmyadmin/phpmyadmin | |
ports: | |
- "7000:80" | |
links: | |
- db:db | |
environment: | |
MYSQL_USER: root | |
MYSQL_PASSWORD: root | |
MYSQL_ROOT_PASSWORD: root | |
networks: | |
- app-network | |
volumes: | |
dbdata: | |
driver: local | |
networks: | |
app-network: | |
driver: bridge |
This file contains hidden or 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
FROM php:7.2-fpm | |
# Copy composer.lock and composer.json | |
COPY composer.lock composer.json /var/www/ | |
# Set working directory | |
WORKDIR /var/www | |
# Install dependencies | |
RUN apt-get update && apt-get install -y \ | |
build-essential \ | |
mariadb-client \ | |
libpng-dev \ | |
libjpeg62-turbo-dev \ | |
libfreetype6-dev \ | |
locales \ | |
zip \ | |
jpegoptim optipng pngquant gifsicle \ | |
vim \ | |
unzip \ | |
git \ | |
curl | |
# Clear cache | |
RUN apt-get clean && rm -rf /var/lib/apt/lists/* | |
# Install extensions | |
RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl | |
RUN docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/ | |
RUN docker-php-ext-install gd | |
# Install composer | |
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer | |
# Add user for laravel application | |
RUN groupadd -g 1000 www | |
RUN useradd -u 1000 -ms /bin/bash -g www www | |
# Copy existing application directory contents | |
COPY . /var/www | |
# Copy existing application directory permissions | |
COPY --chown=www:www . /var/www | |
# Change current user to www | |
USER www | |
# Expose port 9000 and start php-fpm server | |
EXPOSE 9000 | |
CMD ["php-fpm"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment