Задать вопрос
Местоположение
Украина, Львовская обл., Львов

Наибольший вклад в теги

Все теги (4)

Лучшие ответы пользователя

Все ответы (1)
  • Единая бд для апи и веба в docker?

    @tasiuk
    Для решения этой проблемы, нужно создать дополнительную сеть, с драйвером bridge, в стаке с сервисами к которым вы хотите предоставить доступ (подключиться).

    После создания сети, нужно указать какие контейнеры должы подключиться к сети во время запуска, что бы получить к ним доступ из другого стака.

    Пример:

    docker-compose.laravel.yml
    services:
        mysql: 
          image: ...
          networks:
             - default
             - my_private_network
    
        redis: 
          image: ...
          networks:
             - default
             - my_private_network
    
    networks:
      my_private_network:
        name: my_private_network
        driver: bridge


    docker-compose.lumen.yml
    php-fpm:
        image: ...
        networks:
          - default
          - my_private_network
    
    networks:
      my_private_network:
        external: true
        name: my_private_network

    - В первом стаке мы создаем новую сеть, и подключаем нужные нам контейнеры;

    - Во втором стаке мы объявляем о существовании сети которая была создана ранее, и так же подключаем наш php-fpm контейнер, к этой сети, что бы коммуницировать с другими контейнерами по сети;

    После этого, в стаке для Lumen вы можете смело подключиться к контейнерам mysql, redis по их алиасам, как и ранее:

    Lumen .env
    DB_HOST=mysql
    REDIS_HOST=redis


    Успехов!
    Ответ написан
    1 комментарий