@docker_ru

Страница 341 из 1375
twwlf
25.10.2017
14:26:56
спасибо

Евгений
25.10.2017
14:28:28
Почему бы не использовать хостовую сеть и не выключить докеровскую вообще?
Это должно выглядеть как-то так? image: cassandra:3.10 networks: default: ipv4_address: 10.0.7.1 так тоже не получается .. ERROR: for node1 User specified IP address is supported only when connecting to networks with user configured subnets

Artem
25.10.2017
14:29:15
тебе ошибка все разжевала

Евгений
25.10.2017
14:29:50
тебе ошибка все разжевала
выше было предложение не создавать свой нетворк , правильно? »и не выключить докеровскую вообще

Google
Евгений
25.10.2017
14:35:45
выше было подсказка использовать тип host
понял, сейчас буду пробовать, спасибо

@Nklya @ArtG1uK я создаю сеть типа host и контейнерам указываю ipv4 статичные, правильно?

twwlf
25.10.2017
14:57:44
скорее всего, указывать ip тебе не нужно

Евгений
25.10.2017
15:00:53
не могу пока что найти никакого примера вообще, в том числе в доке

twwlf
25.10.2017
15:09:26
https://docs.docker.com/compose/compose-file/#network_mode

тут упоминание есть

HOST OR NONE Use the host’s networking stack, or no networking. Equivalent to docker run —net=host or docker run —net=none. Only used if you use docker stack commands. If you use the docker-compose command, use network_mode instead.

Евгений
25.10.2017
15:18:45
да, несколько раз прочёл, ничего кроме version: '2.1' services: node1: image: cassandra:3.10 network_mode: host ports: - 10.0.7.2:9042:9042 придумать не смог, это так должно работать?

это весь docker-compose.yaml

сеть не создавал в докере, 10.0.7.2 просто один из интерфейсов хоста

twwlf
25.10.2017
15:21:21
порты тебе вообще указывать не надо, это не сработает

Google
twwlf
25.10.2017
15:21:48
при использовании хостовой сетки внутренний процесс контейнера сам начнёт слушать порт

согласно внутренним настройкам

по идее, на всех хостовых интерфейсах

Евгений
25.10.2017
15:22:25
да, так оно и есть, сейчас есть подключение по любому ip адресу

но у меня же несколько нод с одинаковыми портами, как назначить каждой конкретный ip ?

twwlf
25.10.2017
15:23:01
никак

либо разные образы, либо контейнерная сетка и разные порты снаружи

twwlf
25.10.2017
15:24:33
image

Евгений
25.10.2017
15:25:09
Не понял вообще как это поможет

twwlf
25.10.2017
15:25:17
короче

если ты хочешь в рамках одной тачки запустить два инстанса из одного и того же имаджа – юзай докеровую сетку

с разными внешними портами

Евгений
25.10.2017
15:26:07
А я понял, типо в image сделать разные порты

twwlf
25.10.2017
15:26:39
services: node1: image: cassandra:3.10 ports: 9042:9042 node2: image: cassandra:3.10 ports: 9043:9042

Евгений
25.10.2017
15:26:56
с разными внешними портами
Я так и делал, но существует проблема а ля кассандра, с которой и начался вопрос

Остаётся только вариант с другой машины попасть внутрь докерной сети?

twwlf
25.10.2017
15:28:43
не понял задачу

Евгений
25.10.2017
15:29:00
Всем привет, Короткая версия вопроса: Как сделать так, чтобы 2 контейнера общались между собой через тот же IP адрес и Порт, что и внешний клиент на другой машине. те из container1 по 10.0.7.2:9042 я попадал в container2 (оба на host1) и с host2 по 10.0.7.2:9042 я попадал в container2 (host1) Зачем: 1. поднимаю Cassandra-кластер в докере и столкнулся с проблемой при подключении к ней внешнего клиента (на другой машине и НЕ в докере, эти условия поменять нет возможности) 2. У cassandra есть listen address, по умолчанию это 172.18.0.2 и 172.18.0.3(из compose) BROADCAST_ADDRESS - это тот ip по которому к ноде надо подключаться, те по-умолчанию такой же, на котором она слушается. CASSANDRA_SEEDS - то, к кому подключаемся, тут тоже используем 172 сеть Чтобы подключиться из вне (см пункт 1) , поднимаем интерфейсы дополнительные (хочется использовать одинаковые порты) и маппим порты 172.18.0.2:9042 -> 10.0.7.2:9042, 172.18.0.3:9042 -> 10.0.7.3:9042 Пока всё кажется логичным, всё работает. НО, когда подключается клиент к скажем к 10.0.7.2:9042, cassandra ему отвечает что есть ещё нода по адресу 172.18.0.3, клиент пытается туда тоже сходить и у него, разумеется, не получается. Заставить говорить Cassandra что сосед это не 172.18.0.3, а 10.0.7.3 можно только используя его в конфигурации, но, тогда вообще ничего не заработает, потому что ИЗ node1 по адресу 10.0.7.3 в node2 НЕ попасть. Как разрешить такой тупик?

Тип сети host решает задачу

Google
Евгений
25.10.2017
15:29:57
Но без отговорки что контейнеров больше чем 1

twwlf
25.10.2017
15:32:01
а что если listen_address == host ip addr?

будет много ната, но должно работать

вообще, когда ты запускаешь сервисы в compose, он собирает их в сетку с днс, и они становятся доступны по именам а-ля node1/node2 в моём примере

Евгений
25.10.2017
15:33:26
Да

Просто косяк что клиент то внешний

twwlf
25.10.2017
15:33:53
ну а какая разница

поэтому и адрес внешний

т.е. клиент придёт на внешний адрес хостовой тачки, дальше ядро занатит куда нужно

Евгений
25.10.2017
15:34:43
Да, это норм, клиент спрашивает у node1, а где node2, я туда тоже схожу

twwlf
25.10.2017
15:34:59
такой же внешний адрес, но другой порт

Евгений
25.10.2017
15:35:19
А она такая 172.16 (я так node2 зарезолвила) И клиент такой ну ок и идёт на 172.16

А на node1 он пошёл через 10.0.7 изначально, это он знал как идти)

Я разве не могу создать bridge так, чтобы с другой машины в его сеть попадать?

Это бы решило мою задачу

Всё получилось, спасибо, использовал создание bridge в compose (ip адреса при этом на самом хосте эти же не используются) + конструкцию expose вместо ports

Yuri
25.10.2017
18:37:58
Евгений, а можно получившийся файл выложить? у самого прмерно такая же задача

Alexander
25.10.2017
20:57:09
а можно уже где-то посмотреть доклады с dockercon? в частности про kubernetes интересует. пока только фотки слайдов некоторых находил.

ImCat
25.10.2017
21:19:54
Добрый вечер, я новичек в работе с докером, пытаюсь сделать пулл windows server core но докер говорит мне image operatin system "windows" cannot be used on this platform, как решить ?

Google
twwlf
25.10.2017
21:22:06
Подумай

ImCat
25.10.2017
21:22:18
Думаю, ищу, спрашиваю.

twwlf
25.10.2017
21:22:25
Очевидно, что виндовый образ будет работать только в винде

ImCat
25.10.2017
21:22:34
да я это понял

twwlf
25.10.2017
21:22:37
Плохо думаешь, тебе система ответ прямым текстом написала

ImCat
25.10.2017
21:22:45
я из под винды

сижу

twwlf
25.10.2017
21:23:00
Неправильный докер поставил

ImCat
25.10.2017
21:23:38
Окей попробую другой

Alexander
25.10.2017
21:23:48
на windows надо ставить docker toolbox вроде, но работать будет только на professional версии, home не прокатит (нету поддержки hyper v).

ImCat
25.10.2017
21:24:07
Обидно, у меня 8 без хупер в

Есть какой нибудь способ обойти это без установки какой нибудь 10 про на внешний диск ?

ImCat
25.10.2017
21:26:16
asd

вот это грустная история

twwlf
25.10.2017
21:26:40
Ну, щас бы на старой винде посидеть, да

https://www.docker.com/docker-windows

Тут всё написано

Anton
25.10.2017
21:27:31
Ну, щас бы на старой винде посидеть, да
Поддерживается же, чего бы не сидеть? Даже 7 поддерживается, даже XP Embedded, прости г-споди.

ImCat
25.10.2017
21:27:33
я проверил C:\Users\>docker —version Docker version 17.07.0-ce, build 8784753 C:\Users\>docker-compose —version docker-compose version 1.15.0, build e12f3b94 C:\Users\>docker-machine —version docker-machine version 0.12.2, build 9371605

Google
ImCat
25.10.2017
21:40:28
окей теперь странное, я запустил из под виндовсовской консольки настроел её и мне всравно написло что винда не подходит под винду, единственный выход накатить на внешний винду 10 про ?или есть какие то особые шаманские ритуалы?

twwlf
25.10.2017
21:42:16
Не странное

Ещё раз внимательно читай

ImCat
25.10.2017
21:42:28
Может я вообще не правильно подхожу к задаче? мне надо некое виндовсовское приложение упаковать в контейнер docker, правильно ли я понимаю, что мне надо создать контейнер с виндой и в него закопипастить приложение

ImCat
25.10.2017
21:47:00
Окей так и сделаю

Bogdan (SirEdvin)
26.10.2017
06:18:18
Вернее, то можно, но очень не стоит так делать. Потому что из-за этого она начинает обрастать костылями и все приводит к печальным последствиям

Alexey
26.10.2017
06:19:41
Нет. Отлажено и работает это, конечно, круто, но оно же продолжает развиваться дальше, нет? На инфраструктуру нельзя просто положить болт и не трогать.
как и грузить несогласованно с руководстом (бюджеты) сторонюю компанию которая занимается поддержкой.

Bogdan (SirEdvin)
26.10.2017
06:20:13
Это да

Страница 341 из 1375