Docker-Compose is not downloading the specific version of PHP that I want. I want the version “php:8.4.5-fpm” and it only downloads the “latest” version. I tried several things, but I can’t get it to download the specific image, it only downloads the “latest” image.
docker-compose.yml
version: "3.9"
services:
nginx:
build:
context: ../nginx # Caminho para a pasta Nginx (relativo à pasta docker-compose)
ports:
- "80:80"
volumes:
- ../app:/var/www/html # Monta a pasta app como /var/www/html (relativo à pasta docker-compose)
depends_on:
- php
networks:
- laravel-network
php:
build:
context: ../php # Caminho para a pasta PHP (relativo à pasta docker-compose)
expose:
- 9000
volumes:
- ../app:/var/www/html # Monta a pasta app como /var/www/html (relativo à pasta docker-compose)
depends_on:
- db
networks:
- laravel-network
db:
image: mariadb:11.7.2
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: laravel
MYSQL_USER: laravel
MYSQL_PASSWORD: laravel
volumes:
- db_data:/var/lib/mysql
networks:
- laravel-network
phpmyadmin:
image: phpmyadmin:latest
ports:
- "8080:80"
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: root
depends_on:
- db
networks:
- laravel-network
volumes:
db_data:
networks:
laravel-network:
driver: bridge
Dockerfile PHP
FROM php:8.4.5-fpm
# Definir diretório de trabalho
WORKDIR /var/www/html
# Instalar dependências do sistema
RUN apt-get update && apt-get install -y
build-essential
libpng-dev
libjpeg62-turbo-dev
libfreetype6-dev
locales
zip
unzip
git
curl
libzip-dev
libonig-dev
libxml2-dev
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# Instalar extensões PHP necessárias para o Laravel
RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl soap
RUN docker-php-ext-configure gd --with-freetype --with-jpeg
RUN docker-php-ext-install gd
# Instalar o Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# Criar usuário para a aplicação Laravel
RUN groupadd -g 1000 www && useradd -u 1000 -ms /bin/bash -g www www
# Copiar o código da aplicação
COPY --chown=www:www . /var/www/html
# Alterar usuário
USER www
# Expor a porta 9000 para o PHP-FPM
EXPOSE 9000
CMD ["php-fpm"]
Dockerfile Nginx
FROM nginx:1.27.3
# Copiar a configuração do Nginx
COPY default.conf /etc/nginx/conf.d/default.conf