I am trying to connect a mqtt client and the broker. The problem is that they use the same port and docker says that the port is in use.
Connection is refused. This is my dockerfile and docker compose file.
services:
mosquitto:
image: eclipse-mosquitto:2
container_name: mosquitto
ports:
- "1883:1883"
- "9001:9001"
volumes:
- ./mosquitto.conf:/mosquitto/config/mosquitto.conf
- ./mosquitto/data:/mosquitto/data
- ./mosquitto/log:/mosquitto/log
networks:
- mqtt_network
modbus:
build:
context: .
dockerfile: Dockerfile
depends_on:
- mosquitto
container_name: modbus
devices:
- /dev/ttyUSB0:/dev/ttyUSB0
networks:
- mqtt_network
networks:
mqtt_network:
driver: bridge
FROM python:3.12-slim
WORKDIR /app
ARG VERSION=1.0.0
COPY ./dist/modbus-${VERSION}-py3-none-any.whl .
RUN pip install --no-cache-dir modbus-${VERSION}-py3-none-any.whl
RUN mkdir -p /app/logs
EXPOSE 1883
CMD ["modbus"]
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
listener 1883
allow_anonymous true