Не получается клонировать git репозиторий (публичный) в докер-образ
Контекст: Собираю Докер-образ который будет стягивать с гита свежий код, разворачивать и собирать билд (Laravel + React) по отдельным папкам
Структура:
- backend - Докерфайл и Laravel
- frontend - Докерфайл и React
- database - Конфиг + MySQL
- nginx - конфиг + веб-сервер
- docker-compose.yml - сборка
Проблема:
Бэкенд Докерфайл собирает образ РНР 8.1 и после этого должен стянуть проект на Ларке с гита:
Команда RUN git clone <repo>
- ничего не делает, хотя должна стянуть проект.
Пробовал ставить простой публичный репозиторий, но тоже ничего не происходит. В папке нет проекта. Команда как будто просто игнорируется. При этом команды который находятся ДО и ПОСЛЕ git clone
выполняются как надо (WORKDIR, EXPOSE, CMD
, etc.)
Еще пробовал скачать архив через команду ADD <archive_download_url>
и через wget <archive_download_url>
но ничего не вышло
Добавлял команду git clone
в первую инструкцию RUN
где ставятся зависимости (поставил в конце). Тоже не помогло
Dockerfile:
FROM php:8.1-fpm
# Install dependencies
RUN apt-get update && apt-get install -y \
build-essential \
libpng-dev \
libjpeg62-turbo-dev \
libfreetype6-dev \
locales \
libonig-dev \
zip \
libzip-dev \
jpegoptim optipng pngquant gifsicle \
vim \
unzip \
git \
curl && \
pecl install xdebug-3.2.1 && \
docker-php-ext-enable xdebug && \
docker-php-ext-install pdo_mysql mbstring zip exif pcntl && \
docker-php-ext-configure gd --with-freetype --with-jpeg && \
docker-php-ext-install gd && \
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \
# Clear cache
apt-get clean && rm -rf /var/lib/apt/lists/*
# Add user for laravel application
RUN groupadd -g 1000 www && useradd -u 1000 -ms /bin/bash -g www www
# Change current user to www
USER www
WORKDIR /var/www
RUN git clone <public_repo_url>
# Expose port 9000 and start php-fpm server
EXPOSE 9000
CMD ["php-fpm"]