172 похожих чатов

Привет. Народ подскажите пожалуйста как можно получить доступ из контейнеров

одного приложения к контейнерам другого? Оба разворачиваются через docker-compose

Я пока только такой вариант опробовал:
networks:
default:
external:
name: some-common-network

где some-common-network это докер-сетка, которую я предварительно должен создать. Все работает. Но может есть вариант еще проще?

7 ответов

7 просмотров

по имени сервиса

Bonum (Alexei)- Автор вопроса
Bonum (Alexei)- Автор вопроса

а если вот так сделашь, то сможешь видеть, но нужно сетку создавать

Не, другого нет способа

central hardware
по имени сервиса

Работает только при наличии всех нужных контейнеров в одной сети

Bonum (Alexei)- Автор вопроса

Все-таки удалось решить без создания дополнительной сети Насколько это хорошее решение пусть будет на совести использующего. Сначала опишу один нюанс: пускай у вас есть два приложения primary и secondary. Вы хотите чтобы secondary видел контейнеры primary. Если вы воспользуетесь данным решением, то вам надо будет сначала запустить контейнеры primary (ну или создать соответствующую сетку), а потом уже запускать контейнеры в secondary. Иначе будет ошибка: Network primary_default declared as external, but could not be found. Please create the network manually using `docker network create primary_default` and try again. Итак, решение: 1. В докере primary ничего не нужно менять. Когда вы запустите docker-compose up в primary, докер создаст дефолтную сетку primary_default, в которой существуют контейнеры primary. Она понадобится далее. 2. В файле docker-compose.yml приложения secondary сделайте следующее: 2.1. Во всех сервисах, которые должны иметь доступ к контейнерам приложения primary укажите: services: your_service: networks: - default - primary_default 2.2 В конце docker-compose.yml добавьте: networks: primary_default: external: true После этого, сервисы secondary будут видеть в сети сервисы primary (по названию сервиса). Если вам надо чтобы и primary могло видеть secondary. То сделайте аналогичные настройки в docker-compose.yml приложения primary. Название сервиса можно задать так: services: your_service: container_name: my_super_service P.S: есть еще один альтернативный вариант: указать внешний хост для контейнера. Но это уже другая история

Bonum (Alexei)
Все-таки удалось решить без создания дополнительно...

да все верно, таким образом ты наплодил сущностей в виде сеток, ради ничего.

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

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Привет, запускаю werf в dind в k8s, получаю ошибку на этапе build/beforeSetup: /.werf/stapel/embedded/bin/bash: /.werf/scripts/5898bdfe5214357d3706b879cc8d3d78460fb379607cbd...
florius0
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Добрый день, чат. Мне в очередь из других RabbitMQ по shovel валятся метрики в формате текста для Prometheus. Помогите пожалуйста подружить RabbitMQ и Prometheus, чтобы он (...
Aleksey
4
@ahndmn @ayaw0_0 здарова, на чем пишете?
Aiwan \ (•◡•) / _bot
7
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Карта сайта