@MishaXXL

Есть ли разница запуска контейнеров по отдельности или через докер компос?

В одном из конфигов встретил такое свойство, как networks и стало интересно для чего она появилась в docker compose yaml
Ведь мы и так можем общаться между сервисами путем запросов к внешним портам
networks:
  postgres:
    driver: bridge


Какие приимущества есть у докер компоса, кроме как запуска одним файлом набора образов?
  • Вопрос задан
  • 136 просмотров
Решения вопроса 3
vabka
@vabka
Токсичный шарпист
А что поднятие одним файлом всех контейнеров, всех сетей, и всех волюмов, с последующим освобождением всего одновременно уже не является достаточным преимуществом? Да ещё и без конфликта имён
Ответ написан
Комментировать
@Drno
Ну например..
у меня есть задача разместить на сервере Xray-proxy с переадресацией на socks+port
сделать мне это надо было несколько раз(несколько сервисов)

Если я зафигачу как ты предлагаешь, то мне придется делать разные порты для sock сервера, а это разные конфиги, а это лень писать...

А так - я поместил по 2 сервиса - xray+socks(это 2 разных контейнера) в одну сеть, к примеру network1
и обращаюсь из сервера xray к сервису socks по имени в yml..

и таких "связок" я зафигачил 10шт на 1 серваке.

Друг друга они не видят, порты у всех в конфигах одинаковые, внешнюю часть проксирует nginx...

Соответственно контейнер с nginx подключен ко всем сетям, и делает reverse proxy по имени из yml... )

Ну и как уже указали - ты можешь написать сколько угодно сервисов в yml файл, запустить его 1 командой и у тебя всё поднимется.. чем ходить и поднимать каждый контейнер по отдельности..

Например сервер Xibo, требует несколько сервисов.. че мне ходить по 1 их поднимать?
Вроде вот так удобнее
spoiler

version: "2.1"

services:
    cms-db:
        image: mysql:5.6
        volumes:
            - "./shared/db:/var/lib/mysql"
        restart: always
        environment:
            - MYSQL_DATABASE=cms
            - MYSQL_USER=cms
            - MYSQL_RANDOM_ROOT_PASSWORD=yes
        mem_limit: 8g
        env_file: config.env
    cms-xmr:
        image: xibosignage/xibo-xmr:release-0.8
        ports:
            - "9505:9505"
        restart: always
        mem_limit: 4g
        env_file: config.env
    cms-web:
        image: xibosignage/xibo-cms:release-2.3.2
        volumes:
            - "./shared/cms/custom:/var/www/cms/custom"
            - "./shared/backup:/var/www/backup"
            - "./shared/cms/web/theme/custom:/var/www/cms/web/theme/custom"
            - "./shared/cms/library:/var/www/cms/library"
            - "./shared/cms/web/userscripts:/var/www/cms/web/userscripts"
        restart: always
        links:
            - cms-db:mysql
            - cms-xmr:50001
        environment:
            - XMR_HOST=cms-xmr
        env_file: config.env
        ports:
            - "8080:80"
        mem_limit: 4g
    cms-quickchart:
      image: ianw/quickchart
      restart: always

Ответ написан
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Почитайте про декларативное описание и управление и поймете разницу.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы