Ответы пользователя по тегу Docker
  • Как обеспечить взаимодействие docker контейнеров?

    @HighMan Автор вопроса
    Большое спасибо за содержательные ответы. Вы мне очень помогли! :)
    Сумируя опыт:
    Все контейнеры запущенные через docker-compose.yml находятся в одной виртуальной сети и прекрасно видят друг друга по имени.
    Некоторые сложности возникают, когда для работы требуется "внешний" контейнер, запущенный из другого docker-compose.yml. Он по умолчанию находится в другой виртуальной сети и по именам не видит другие контейнеры.
    На помощь приходит явное объявное объявление сети.
    networks:
      pgsql_net:
        name: pgsql_net

    Т.к. БД может использоваться другими контейнерами, то имено с ним (в его docker-compose,yml) нужно объявлять новую сетку. В моем случае она называется pgsql_net. Все зависимые контейнеры будут.... Не знаю как правильно сказать, типа, видеть эту виртуальную сеть ее объявить как external.
    Вот фрагмент другого docker-compose.yml, который должен общаться с ьазой данных.
    networks:
      my_net:
        external:
          name: pgsql_net
    ..................
         networks:
            -my_net

    В каждом зависимом контейнере, так же, нужно прописать общую для всех контернейров сеть, в данном случае, my_net. Эта сеть my_net будет видеть и отдельную сеть контейнера с базой данных.
    Возможно, где-то я напридумывал что-то лишнее, но в результате у меня все заработало. Наконец-то увиделся отдельный контейнер с базой данных.
    Еще очень помогает возможность залезть в работающий контейнер:
    docker exec -it name_container /bin/bash
    После этого вы оказываетесь внутри работающего контейнера и можете, на время жизни контейнера, доустановить ping и прочие тестовые инструменты. Если у вас проброшены через volume каталоги с БД, то можно создать базу данных и пользователя. Это тогда сохранится на хостовой машине.
    Если будет кому интересно, то я выложу compose файлы и пару скриптов для создания nextcloud+onlyoffice+postgres.
    Я понимаю, что для специалиста в docker - это надрывный смех, но я потерял почти сутки на запуск всей этой тряхомудии.
    Если кому интересно, то вот ссылка docker-onlyoffice-nextcloud
    В коде по ссылке, используется недаскуль и очень рекомендуется прикрутить нормальную БД. MySQL или PostgreSQL.
    Ах да! После первого входа, на хостовой машине нужно запустить set_configuration.sh. Оно настроит связку между nextcloud и onlyoffice.
    Ответ написан
    Комментировать
  • Как выбрать комплексное решение для электронной почты?

    @HighMan
    Возможно со мной многими не согласятся, но мыло в докере - извращение. Впрочем, сам докер, то еще извращение, но речь не совсем о нем.
    Настройка полнофункционального почтового сервера задача не тривиальная. Подогнать его под свои нужды/хотелки развлечение на долгий срок. Еще почтовый сервер это много программных пакетов, собраных во имя "Великой Цели".
    А Вы хотите готовое решение в контейнере?
    Может, с таким подходом остановиться на MS Exchange? Впрочем, с ним так же придется помучиться.
    Кроме шуток, а может делегировать сервер на Yandex? Там все просто и надежно. Параноя насчет того что ваши письма уже не ваши, оправдана лишь отчасти. Зато вполне работоспособное комплексное решение.
    У меня почтовый сервер postfix + dovecot + PostgreSQL + SpamAssassin + greylist + RoundCube + RainLoop.... Ну и еще по мелочи, включая сито, DKIM, и что-то еще.
    А Вы хотите скачать контейнер и получить все сразу :)
    Ответ написан
    2 комментария