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:
+10
-1
@@ -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 \
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user