changed approach to shared volumes between nginx and app

This commit is contained in:
2026-06-06 15:26:07 +07:00
parent fddf5398fc
commit 553f90d482
3 changed files with 12 additions and 3 deletions
+3 -3
View File
@@ -56,10 +56,10 @@ WORKDIR /var/www/html
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/docker-entrypoint.sh RUN chmod +x /usr/local/bin/docker-entrypoint.sh
COPY --chown=app:app . . COPY --chown=app:app . /app-source
COPY --from=composer --chown=app:app /app/vendor ./vendor COPY --from=composer --chown=app:app /app/vendor /app-source/vendor
COPY --from=node-build --chown=app:app /app/public/build ./public/build COPY --from=node-build --chown=app:app /app/public/build /app-source/public/build
ENTRYPOINT ["docker-entrypoint.sh"] ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["php-fpm"] CMD ["php-fpm"]
+3
View File
@@ -22,6 +22,7 @@ services:
context: . context: .
dockerfile: Dockerfile dockerfile: Dockerfile
volumes: volumes:
- app-source:/var/www/html
- app-storage:/var/www/html/storage - app-storage:/var/www/html/storage
- app-photos:/var/www/html/public/photos - app-photos:/var/www/html/public/photos
environment: environment:
@@ -49,12 +50,14 @@ services:
context: . context: .
dockerfile: Dockerfile.nginx dockerfile: Dockerfile.nginx
volumes: volumes:
- app-source:/var/www/html:ro
- app-photos:/var/www/html/public/photos:ro - app-photos:/var/www/html/public/photos:ro
depends_on: depends_on:
- app - app
restart: unless-stopped restart: unless-stopped
volumes: volumes:
app-source:
mariadb_data: mariadb_data:
app-storage: app-storage:
app-photos: app-photos:
+6
View File
@@ -14,6 +14,12 @@ if [ "$(id -u)" = "0" ]; then
chown -R app:app /var/www/html/storage /var/www/html/public/photos chown -R app:app /var/www/html/storage /var/www/html/public/photos
fi fi
# Sync app source from image to volume
if [ -d /app-source ]; then
echo "Syncing app source to volume..."
cp -a /app-source/. /var/www/html/
fi
# 1. Wait for MySQL # 1. Wait for MySQL
echo "Waiting for MySQL..." echo "Waiting for MySQL..."
for i in $(seq 1 30); do for i in $(seq 1 30); do