问题描述
我想用 Nginx 和 Let's Encrypt 设置一个 MQTT(代理)服务器。
有关信息,我将此存储库用于 Nginx 和 Let's Encrypt: https://github.com/evertramos/docker-compose-letsencrypt-nginx-proxy-companion
这是示意图:
我已经有好几个站点了。 (wordpress,portainer,...)
这是我的 docker-compose.yml :
version: '3'
services:
mosquitto:
container_name: ${CONTAINER_MQTT_WEB}
image: eclipse-mosquitto:latest
restart: always
ports:
- "1883:1883"
- "9001:9001"
volumes:
- ./data-mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf
- ./data-mosquitto/data:/mosquitto/data
- ./data-mosquitto/log:/mosquitto/log
environment:
- DOMAIN= ${DOMAINS}
- VIRTUAL_HOST= ${DOMAINS}
- LETSENCRYPT_HOST= ${DOMAINS}
- LETSENCRYPT_EMAIL= ${LETSENCRYPT_EMAIL}
networks:
default:
external:
name: ${NETWORK}
这是我的环境文件(.env):
# Creation TOF
# Contact : My EMAIL
#
# Containers name
CONTAINER_MQTT_WEB=MQTT_web-ssl
# Host
DOMAINS=mqtt.mywebsite.com
[email protected]
#
# Network name
#
# Your container app must use a network conencted to your webproxy
# https://github.com/evertramos/docker-compose-letsencrypt-Nginx-proxy-companion
#
NETWORK=webproxy
Creating MQTT_web-ssl ... error
ERROR: for MQTT_web-ssl Cannot start service mosquitto: OCI runtime create Failed: container_linux.go:370: starting container process caused: process_linux.go:459: container init caused: rootfs_linux.go:59: mounting "/home/theking/Docker/docker-mosquitto-Nginx-letsencrypt/data-mosquitto/config/mosquitto.conf" to rootfs at "/home/.../dockerdrive/overlay/ee4ef10d2f021c03b1556d9547f8c877d83c9128cad37c2a2a4ba1ff2c367d40/merged/mosquitto/config/mosquitto.conf" caused: not a directory: unkNown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
感谢您的帮助:)
祝你有美好的一天
克里斯托夫
解决方法
对于 docker-compose.yml 没问题:
version: '3.5'
services:
mosquitto:
container_name: ${CONTAINER_MQTT_WEB}
image: eclipse-mosquitto:latest
restart: always
ports:
- "1883:1883"
- "9001:9001"
volumes:
- ./mosquitto/data:/mosquitto/data
- ./mosquitto/logs:/mosquitto/logs
- ./mosquitto/config:/mosquitto/config:ro
environment:
- DOMAIN= ${DOMAINS}
- VIRTUAL_HOST= ${DOMAINS}
- LETSENCRYPT_HOST= ${DOMAINS}
- LETSENCRYPT_EMAIL= ${LETSENCRYPT_EMAIL}
networks:
default:
external:
name: ${NETWORK}
但是现在我有一个错误
MQTT_web-ssl | 1615542527:错误:地址不可用
这是我的存储库: https://github.com/Tofdu31/docker-mosquitto-nginx-letsencrypt