fix: add Docker CLI to PHP container for deploy script

- Install docker-ce-cli + docker-compose-plugin in Dockerfile
- Mount Docker socket in docker-compose.yml
- Add www-data to docker group for socket access
This commit is contained in:
F4ilji
2026-07-02 01:50:40 +05:00
parent 3da95da099
commit cc98d509e5
2 changed files with 11 additions and 1 deletions
+10 -1
View File
@@ -33,6 +33,13 @@ RUN apt-get update && apt-get install -y \
&& curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
&& apt-get install -y nodejs \
&& npm install -g npm \
# Docker CLI for deploy script
&& apt-get install -y ca-certificates curl gnupg \
&& install -m 0755 -d /etc/apt/keyrings \
&& curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
&& chmod a+r /etc/apt/keyrings/docker.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(. /etc/os-release && echo $VERSION_CODENAME) stable" > /etc/apt/sources.list.d/docker.list \
&& apt-get update && apt-get install -y docker-ce-cli docker-compose-plugin \
# Очистка кэша для уменьшения размера образа
&& apt-get clean && rm -rf /var/lib/apt/lists/*
@@ -56,8 +63,10 @@ RUN curl -sS https://getcomposer.org/installer | php -- \
RUN mkdir -p storage/framework/views storage/framework/sessions storage/framework/cache storage/logs bootstrap/cache
# Добавляем www-data в группу с GID=1000 (совпадает с GID хост-пользователя)
# и в группу docker для доступа к Docker socket при деплое
RUN groupadd -g 1000 hostgroup 2>/dev/null || true \
&& usermod -aG hostgroup www-data
&& groupadd docker 2>/dev/null || true \
&& usermod -aG hostgroup -G docker www-data
# Установка правильных прав доступа
RUN chown -R www-data:www-data storage bootstrap/cache \
+1
View File
@@ -36,6 +36,7 @@ services:
dockerfile: _docker/app/Dockerfile
volumes:
- ./:/var/www
- /var/run/docker.sock:/var/run/docker.sock
container_name: ntspi-php
restart: always
ports: