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 - \
|
&& curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
|
||||||
&& apt-get install -y nodejs \
|
&& apt-get install -y nodejs \
|
||||||
&& npm install -g npm \
|
&& 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/*
|
&& 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
|
RUN mkdir -p storage/framework/views storage/framework/sessions storage/framework/cache storage/logs bootstrap/cache
|
||||||
|
|
||||||
# Добавляем www-data в группу с GID=1000 (совпадает с GID хост-пользователя)
|
# Добавляем www-data в группу с GID=1000 (совпадает с GID хост-пользователя)
|
||||||
|
# и в группу docker для доступа к Docker socket при деплое
|
||||||
RUN groupadd -g 1000 hostgroup 2>/dev/null || true \
|
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 \
|
RUN chown -R www-data:www-data storage bootstrap/cache \
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ services:
|
|||||||
dockerfile: _docker/app/Dockerfile
|
dockerfile: _docker/app/Dockerfile
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/var/www
|
- ./:/var/www
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
container_name: ntspi-php
|
container_name: ntspi-php
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
Reference in New Issue
Block a user