Docker Compose Network Multicast - PullRequest
       17

Docker Compose Network Multicast

0 голосов
/ 11 апреля 2019

Я пытаюсь соединить разных мух между собой через многоадресную рассылку. Если я запускаю полевых мух на своей машине локально, они общаются друг с другом в течение 226.0.1.1

но в docker compose нет связи в сети.

мой текущий составной файл выглядит так:

version: '3.5'
services:

  wildfly1:
    build: ./wildfly_image
    image: wildfly:latest
    environment:
    - WILDFLYNAME=wildfly1
    networks:
      wildfly_network:

  wildfly2:
    build: ./wildfly_image
    image: wildfly:latest
    environment:
    - WILDFLYNAME=wildfly2
    networks:
      wildfly_network:

networks: 
  wildfly_network:
    ipam:
      driver: default

если я запускаю docker network inspect <wildfly_network>, я получаю следующий результат:

[
    {
        "Name": "wildfly_network",
        "Id": "fb6971c11fc46c9489ea09a32da8d775818aa60fe4a9ce70ef6622455b9d9f26",
        "Created": "2019-04-11T12:23:12.177429621Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": true,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "31edc263ca9e6114dac70cc1347093159eb64028730459ae316ffe941dae9c57": {
                "Name": "wildfly2_1",
                "EndpointID": "f26daa7b38bcaf40db337e29c3fe501a48b415d14def30b3ed943d9d309cbbf8",
                "MacAddress": "02:42:ac:12:00:04",
                "IPv4Address": "172.18.0.4/16",
                "IPv6Address": ""
            },
            "32e30b11d07e1c30b9a885493e8614d0e809f537f99c46c6386492aa4a0a010a": {
                "Name": "wildfly1_1",
                "EndpointID": "7e79bcfacd28eb5a90734f21063655430e4a795391dbd4859b21d337b23c684a",
                "MacAddress": "02:42:ac:12:00:05",
                "IPv4Address": "172.18.0.5/16",
                "IPv6Address": ""
            },
        },
        "Options": {},
        "Labels": {
            "com.docker.compose.network": "wildfly_network",
            "com.docker.compose.project": "docker",
            "com.docker.compose.version": "1.23.2"
        }
    }
]

кто-то видел мою проблему?

спасибо

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Я решил проблему с помощью следующей команды:

ENTRYPOINT /opt/jboss/wildfly/bin/standalone.sh -b=0.0.0.0 -bmanagement=0.0.0.0 -Djboss.server.default.config=standalone-full-ha.xml -Djboss.node.name=${WILDFLY_NAME} -Djava.net.preferIPv4Stack=true -Djgroups.bind_addr=$(hostname -i) -Djboss.messaging.cluster.password=${CLUSTER_PW}

Вы должны привязать адрес jgroup к локальному адресу контейнера, изменить кластер pw и использовать ipv4

iтакже обновил репозиторий GitHub, чтобы показать текущий работающий кластер

https://github.com/auryn31/wildfly-docker-multicast-test

0 голосов
/ 11 апреля 2019

В случае, если единственная цель сети - сделать ваши сервисы доступными, попробуйте получить прямой доступ к сервисам в docker compose напрямую, например, http://wildfly1, http://wildfly2. Docker compose должен добавить обе сервисы в сеть по умолчанию и сделать доступнымис названием сервиса для других сервисов в compose.за дополнительной информацией обращайтесь Докер Документ

version: '3.5'
services:

  wildfly1:
    build: ./wildfly_image
    image: wildfly:latest
    environment:
    - WILDFLYNAME=wildfly1

  wildfly2:
    build: ./wildfly_image
    image: wildfly:latest
    environment:
    - WILDFLYNAME=wildfly2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...