Answer the question
In order to leave comments, you need to log in
What causes errors when building lemp via docker-compose?
Yesterday I did the assembly according to this manual . All earned.
Today I'm booting up - it doesn't want to assemble ... It gives out:
If you remove mysql-client from the dockerfile, the installation will continue, but then it will be interrupted again with an error:
Dockerfile:
FROM php:7.2-fpm
# Set working directory
WORKDIR /var/www
# Install dependencies
RUN apt-get update && apt-get install -y \
build-essential \
mysql-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 mysqli
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 ./www /var/www
# Copy existing application directory permissions
COPY --chown=www:www ./www /var/www
# Change current user to www
USER www
# Expose port 9000 and start php-fpm server
EXPOSE 9000
CMD ["php-fpm"]
version: '3'
services:
#PHP Service
app:
build:
context: .
dockerfile: Dockerfile
image: digitalocean.com/php
container_name: laravel.php
restart: always
tty: true
environment:
SERVICE_NAME: app
SERVICE_TAGS: dev
working_dir: /var/www
volumes:
- ./www:/var/www
- ./config/php/local.ini:/usr/local/etc/php/conf.d/local.ini
networks:
- app-network
#Nginx Service
webserver:
image: nginx:alpine
container_name: laravel.nginx
restart: always
tty: true
ports:
- "80:80"
- "443:443"
volumes:
- ./www:/var/www
- ./config/conf.d/:/etc/nginx/conf.d/
networks:
- app-network
#MySQL Service
db:
image: mysql:5.7.22
container_name: laravel.db
restart: always
tty: true
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: 0
MYSQL_DATABASE: laravel
MYSQL_USER: laravel
MYSQL_PASSWORD: laravel
SERVICE_TAGS: dev
SERVICE_NAME: mysql
volumes:
- ./db:/var/lib/mysql/
- ./config/mysql/my.cnf:/etc/mysql/my.cnf
networks:
- app-network
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: laravel.pma
environment:
- PMA_ARBITRARY=1
restart: always
ports:
- 8080:80
environment:
MYSQL_ROOT_PASSWORD: 0
MYSQL_USER: pma
MYSQL_PASSWORD: pma
volumes:
- /sessions
networks:
- app-network
#Docker Networks
networks:
app-network:
driver: bridge
Answer the question
In order to leave comments, you need to log in
I checked - it's not your fault, it's the creators of PHP image that broke something in the latest version.
Replace the first line in the Dockerfile with:
FROM php:7.2.3-fpm
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question