问题描述
我已经在Ubuntu中安装了eclipse-mosquitto
docker image。我正在尝试使用docker-compose
运行它。 Mosquitto需要3个目录,如docker hub页面中所述:
在本地PC中,我创建了一个名为mosquitto
的目录,其中包含上述所有目录和文件:
mosquitto
-> config
-> mosquitto.conf
-> conf.d
-> bridge.conf
-> data
-> mosquitto.db
-> log
-> mosquitto.log
下面是docker-compose.yml文件:
version: '2.4'
services:
mosquitto:
image: eclipse-mosquitto:latest
volumes:
- /home/john/Documents/docker/mosquitto:/mosquitto
restart: always
,我以sudo docker-compose up
开头。它的容器开始正常运行,我可以看到正确安装在mosquitto容器内的所有目录和文件。我可以看到日志开始出现,并且mosquitto.log
文件的大小也在容器内增加,但是本地计算机中没有日志。
为什么我安装了卷后会发生这种情况。我还想在ubuntu本地PC的mosquitto.log
中获取日志。我怎样才能做到这一点。任何人都可以提出一些好的解决方案。谢谢
解决方法
这是因为docker正在创建2个本地卷并将它们安装在/mosquitto
目录的顶部,以保存持久性和日志数据。
在“卷”部分添加额外的安装,然后它将绑定本地目录,而不是创建未命名的本地卷。
version: '2.4'
services:
mosquitto:
image: eclipse-mosquitto:latest
volumes:
- /home/john/Documents/docker/mosquitto:/mosquitto
- /home/john/Documents/docker/mosquitto/data:/mosquitto/data
- /home/john/Documents/docker/mosquitto/log:/mosquitto/log
restart: always