Совершенно новичок в Docker-Compose, и я как бы неоднократно ломаю себе лицо. Я пытаюсь подключиться к существующему брокеру mqtt (мой брокер на другом компьютере) через docker-compose с помощью тестового сценария на python, который работает автономно.
Это тестовый скрипт Python. Я также пытался печатать в терминале, но безуспешно. Так что помощь приветствуется и в этом.
import json
import base64
import binascii
import time
import datetime
from collections import defaultdict
import paho.mqtt.client as mqtt
import paho.mqtt.publish as publish
import ssl
def on_message(mosq, obj, msg):
print(msg.topic + " " + str(msg.qos) + " " + str(msg.payload))
def on_connect(client, userdata, a, b):
print("Connected to Broker")
def on_disconnect(client, userdata, rc):
print("Disconnected from MQTT server with code: ", rc)
mqttc = mqtt.Client(client_id="RELAY", clean_session=False)
mqttc.on_message = on_message
mqttc.on_connect = on_connect
mqttc.on_disconnect = on_disconnect
mqttc.connect("1.1.1.2", 1883, 60)
mqttc.loop_start()
counter = 0
while True:
print("Sending MSG")
counter=counter+1
response="MESSAGE No: "+ str(counter)
mqttc.publish("Walrus/test", response)
time.sleep(30)
Это один из тысяч экземпляров yml-файла, который я пробовал.
version: '3'
services:
mqtt:
broker: 1.1.1.2
port:1883
Этот экземпляр просто возвращает брокеру неподдерживаемый параметр конфигурации
Это Dockerfile
FROM python:3.6.1-alpine
ADD . /pyapp
WORKDIR /pyapp
ENV PATH=/home/ubuntu/.virtualenvs/bin:$PATH
RUN pip install --upgrade pip
RUN pip install --upgrade setuptools
RUN pip install -r requirements.txt
EXPOSE 1883
CMD ['python', '-u', 'app.py']
Любой учебник, который я видел, создает брокера или использует брокера в качестве услуги / пакета. Я думаю, что я хочу сделать намного проще, но я не нашел учебник. Я знаю, что мне не хватает чего-то простого. Любая помощь приветствуется.