PankovAlxndr
@PankovAlxndr
Fullstack web developer

Как обновлять laravel в Docker?

services:
  nginx:
    image: registry.gitlab.com/pankovalxndr/cicd-laravel/nginx:latest
    ports:
      - 80:80
      - 443:443
    volumes:
      - /etc/letsencrypt:/etc/letsencrypt:ro
      - /var/www/html:/var/www/html:ro
      - storage:/app/public/storage
  
  php-cli:
    image: registry.gitlab.com/pankovalxndr/cicd-laravel/php-cli
    volumes:
      - storage:/app/storage
      - cache:/app/bootstrap/cache
  
  php-fpm:
    image: registry.gitlab.com/pankovalxndr/cicd-laravel/php-fpm
    volumes:
      - storage:/app/storage
      - cache:/app/bootstrap/cache
  
  postgres:
    image: postgres:16-alpine3.20
    environment:
      POSTGRES_USER: app
      POSTGRES_PASSWORD: secret
      POSTGRES_DB: app
    ports:
      - "5432:5432"
    volumes:
      - postgres:/var/lib/postgresql/data

volumes:
  postgres:
  storage:
  cache:


Здравствуйте, у кого laravel-монолит в проде на докере, можете рассказать как организовали перенос данных между контейнерами, я про папку storage\cache
(да знаю про s3, про "ненужность" докера, у меня чисто "технический" интерес, решил попробовать все привычное завернуть в ci\cd уже с докером, и чот столько мелких сложностей, ужас просто, возникает мысль что все делаю не так...

на скрине мой продовский compose, я файлы засунул в volume,
но у меня каждый контейнер работает от разных юзеров (не root) отсюда у меня проблемы с доступом к файлам в папке кеш..

как вы решали эту проблему?
1) запускать от одного юзера и\или группы и ловить другие приколы, которые точно будут,
2) бахать 3 топора в volume?

еще вопрос возник: как вообще первоначальную инициалищзацию проводили, тк volume пустые и ларавел ругается, что нет папки cache/fraework/... и тд т тп.

ps: думал делов на пару часов, а застрял...
pss: повторю, что чистый интерес, к реальному бизнесу не имеет отношения, там у меня все нативно вертится и никаких проблем.
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Пусть контейнеры работают от разных пользователей, пишет-то в каталог только кто-то один (надеюсь). А остальным достаточно на чтение доступ дать. php-fpm и php-cli практически наверняка можно объединить в один сервис.

P.S. не рекомендую использовать образы без тэга или latest - лучше обозначайте конкретную версию.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы