在Azure中运行docker容器,并在Azure文件共享中配置(MOSQUITO代理)
我想在Azure中作为docker容器运行mosquitto MQTT代理。(我知道azure有一个物联网中心……但我希望有一个自我管理的代理)。我希望将mosquitto.conf文件放在Azure文件共享中,以获得一个持久的自己的配置,而不是默认配置。 我部署了docker映像,如下所示:在Azure中运行docker容器,并在Azure文件共享中配置(MOSQUITO代理),azure,docker,containers,Azure,Docker,Containers,我想在Azure中作为docker容器运行mosquitto MQTT代理。(我知道azure有一个物联网中心……但我希望有一个自我管理的代理)。我希望将mosquitto.conf文件放在Azure文件共享中,以获得一个持久的自己的配置,而不是默认配置。 我部署了docker映像,如下所示: az container create \ --resource-group XXX \ --name mosquitto \ --image eclipse-mosquitto
az container create \
--resource-group XXX \
--name mosquitto \
--image eclipse-mosquitto \
--dns-name-label XXX-mqtt \
--ports 1883 8883\
--azure-file-volume-account-name XXX \
--azure-file-volume-account-key XXX \
--azure-file-volume-share-name XXX \
--azure-file-volume-mount-path /fileshare/
docker映像已创建且工作正常,如果连接到容器中,还可以访问fileshare装载
我的问题是:如何定义docker映像以使用fileshare中的mosquito.conf文件而不是docker映像中的默认文件
mosquitto docker文档中说:
运行映像时,将使用默认配置值。要使用自定义配置文件,请将本地配置文件装载到/mosquitto/config/mosquitto.conf
$ docker run -it -p 1883:1883 -p 9001:9001 -v mosquitto.conf:/mosquitto/config/mosquitto.conf eclipse-mosquitto
如何将-v mosquitto.conf:/mosquitto/config/mosquitto.conf
参数传递给映像?使用环境变量
谢谢你的帮助 否,您不能将
-v mosquitto.conf:/mosquitto/config/mosquitto.conf
作为命令az container create
的参数传递。它不支持它。您可以将文件存储在文件共享中,并通过将文件共享装载到容器中来访问容器中的文件。不,您不能将-v mosquitto.conf:/mosquitto/config/mosquitto.conf
作为命令az container create
的参数传递。它不支持它。您可以将文件存储在文件共享中,并通过将文件共享装载到容器中来访问容器中的文件。