Python Docker에서 mqtt Docker로 연결할 수 없습니다.

Vrogg

그래서 외부 도커에서 연결할 수있는 toke / mosquitto 도커 컨테이너가 실행 중입니다.

그런 다음 모기 브로커에 데이터를 게시해야하는 Python 도커 컨테이너를 사용하고 있습니다. 내 코드는 다음과 같습니다.

import paho.mqtt.client as paho
import time
import random

broker = "localhost"
port = 1883


def on_publish(client, userdata, result):
    print("Device 1 : Data published.")
    pass

client = paho.Client("admin")
client.on_publish = on_publish
client.connect(broker, port)

for i in range(20):
    d = random.randint(1, 5)

    # telemetry to send
    message = "Device 1 : Data " + str(i)
    time.sleep(d)

    # publish message
    ret = client.publish("/data", message)

print("Stopped...")

코드는 docker에서 실행되지 않는 mqtt 브로커에 연결하려고 시도합니다.

하지만 둘 다 도커로 실행하고 서로 연결하는 방법을 알 수 없습니다. 내 오류 메시지는 다음과 같습니다.

Traceback (most recent call last):
  File "./pub_client1.py", line 15, in <module>
    client.connect(broker, port)
  File "/usr/local/lib/python3.8/site-packages/paho/mqtt/client.py", line 937, in connect
    return self.reconnect()
  File "/usr/local/lib/python3.8/site-packages/paho/mqtt/client.py", line 1071, in reconnect
    sock = self._create_socket_connection()
  File "/usr/local/lib/python3.8/site-packages/paho/mqtt/client.py", line 3522, in _create_socket_connection
    return socket.create_connection(addr, source_address=source, timeout=self._keepalive)
  File "/usr/local/lib/python3.8/socket.py", line 808, in create_connection
    raise err
  File "/usr/local/lib/python3.8/socket.py", line 796, in create_connection
    sock.connect(sa)
OSError: [Errno 99] Cannot assign requested address

이미 도커 네트워크를 사용하고 있습니다. 내가 무엇을 놓치고 있습니까?

도움을 주셔서 감사합니다 :)

람보

Felipe에서 언급했듯이 docker를 사용할 때 localhost가 작동하지 않습니다. broker = "localhost"mqtt에 대한 docker compose 파일에 정의한 서비스를 가리 키도록 변경 하거나 다른 네트워크에서 실행할 때 mqtt의 IP 주소를 가리 키도록 변경해야합니다 .

docker compose 파일이 mqtt를 mqtt ( mqtt: build mqtt:latest) 로 참조하는 경우 브로커 변수를 다음 과 같이 변경해야합니다.broker = "mqtt"

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

IoT는 MQTT + TLS로 서버에 연결할 수 없습니다.

분류에서Dev

Paho의 MQTT는 연결에 연결할 수 없습니다.

분류에서Dev

angular8의 ngx-mqtt를 통해 MQTT 브로커에 연결할 수 없습니다.

분류에서Dev

Docker 컨테이너는 서로 연결할 수 없습니다.

분류에서Dev

Node.js에서 MySQL Docker에 연결할 수 없습니다

분류에서Dev

Docker에서 postgres에 연결할 수 없습니다.

분류에서Dev

Elastic Beanstalk Docker에서 RDS에 연결할 수 없습니다.

분류에서Dev

PostGIS Docker에 원격으로 연결할 수 없습니다.

분류에서Dev

Docker의 Cassandra는 외부에서 연결할 수 없습니다.

분류에서Dev

ECS에서 연결된 Docker 컨테이너에 연결할 수 없습니다.

분류에서Dev

docker-compose의 "로컬 MySQL 서버에 연결할 수 없습니다"

분류에서Dev

Docker CLI를 로컬 Docker 데몬에 연결할 수 없습니다.

분류에서Dev

Docker 컨테이너에서 Go 서버에 연결할 수 없습니다.

분류에서Dev

Python-Docker 컨테이너는 MariaDB-Docker 컨테이너에 연결할 수 없습니다.

분류에서Dev

Docker에서 ssh를 통해 Corda 노드에 연결할 수 없습니다.

분류에서Dev

docker-compose에서 실행중인 MongoDB에 연결할 수 없습니다.

분류에서Dev

OS X에서 게시 된 Docker 포트에 연결할 수 없습니다.

분류에서Dev

Docker : 호스트에서 컨테이너에 연결할 수 없습니다.

분류에서Dev

Docker-Compose는 MySQL에 연결할 수 없습니다.

분류에서Dev

Docker는 케이크 PHP에 연결할 수 없습니다.

분류에서Dev

Docker를 사용하여 Mysql에 연결할 수 없습니다.

분류에서Dev

Docker 컨테이너의 mongodb에 연결할 수 없습니다.

분류에서Dev

MySQL Docker 컨테이너에 연결할 수 없습니다.

분류에서Dev

Docker-compose를 사용하여 Nodejs로 mongoDB에 연결할 수 없습니다.

분류에서Dev

외부 인터넷에서 Docker Swam Agent를 연결할 수 없습니다.

분류에서Dev

docker : unix : ///var/run/docker.sock에서 Docker 데몬에 연결할 수 없습니다.

분류에서Dev

오류 : http + docker : // localhost + Docker 데몬의 Segmentation Fault에서 Docker 데몬에 연결할 수 없습니다.

분류에서Dev

docker nginx를 docker ubuntu와 연결할 수 없습니다.

분류에서Dev

Python에서 Db2에 연결할 수 없습니다.

Related 관련 기사

  1. 1

    IoT는 MQTT + TLS로 서버에 연결할 수 없습니다.

  2. 2

    Paho의 MQTT는 연결에 연결할 수 없습니다.

  3. 3

    angular8의 ngx-mqtt를 통해 MQTT 브로커에 연결할 수 없습니다.

  4. 4

    Docker 컨테이너는 서로 연결할 수 없습니다.

  5. 5

    Node.js에서 MySQL Docker에 연결할 수 없습니다

  6. 6

    Docker에서 postgres에 연결할 수 없습니다.

  7. 7

    Elastic Beanstalk Docker에서 RDS에 연결할 수 없습니다.

  8. 8

    PostGIS Docker에 원격으로 연결할 수 없습니다.

  9. 9

    Docker의 Cassandra는 외부에서 연결할 수 없습니다.

  10. 10

    ECS에서 연결된 Docker 컨테이너에 연결할 수 없습니다.

  11. 11

    docker-compose의 "로컬 MySQL 서버에 연결할 수 없습니다"

  12. 12

    Docker CLI를 로컬 Docker 데몬에 연결할 수 없습니다.

  13. 13

    Docker 컨테이너에서 Go 서버에 연결할 수 없습니다.

  14. 14

    Python-Docker 컨테이너는 MariaDB-Docker 컨테이너에 연결할 수 없습니다.

  15. 15

    Docker에서 ssh를 통해 Corda 노드에 연결할 수 없습니다.

  16. 16

    docker-compose에서 실행중인 MongoDB에 연결할 수 없습니다.

  17. 17

    OS X에서 게시 된 Docker 포트에 연결할 수 없습니다.

  18. 18

    Docker : 호스트에서 컨테이너에 연결할 수 없습니다.

  19. 19

    Docker-Compose는 MySQL에 연결할 수 없습니다.

  20. 20

    Docker는 케이크 PHP에 연결할 수 없습니다.

  21. 21

    Docker를 사용하여 Mysql에 연결할 수 없습니다.

  22. 22

    Docker 컨테이너의 mongodb에 연결할 수 없습니다.

  23. 23

    MySQL Docker 컨테이너에 연결할 수 없습니다.

  24. 24

    Docker-compose를 사용하여 Nodejs로 mongoDB에 연결할 수 없습니다.

  25. 25

    외부 인터넷에서 Docker Swam Agent를 연결할 수 없습니다.

  26. 26

    docker : unix : ///var/run/docker.sock에서 Docker 데몬에 연결할 수 없습니다.

  27. 27

    오류 : http + docker : // localhost + Docker 데몬의 Segmentation Fault에서 Docker 데몬에 연결할 수 없습니다.

  28. 28

    docker nginx를 docker ubuntu와 연결할 수 없습니다.

  29. 29

    Python에서 Db2에 연결할 수 없습니다.

뜨겁다태그

보관