Docker Avahi 是一個(gè)在 Docker 容器中運(yùn)行 Avahi 服務(wù)的工具。Avahi 服務(wù)是一個(gè)開(kāi)源實(shí)現(xiàn)的 Zeroconf 協(xié)議,可以讓設(shè)備自動(dòng)發(fā)現(xiàn)和連接。通過(guò)使用 Docker Avahi,我們可以輕松地在容器中實(shí)現(xiàn) Zeroconf 協(xié)議的自動(dòng)發(fā)現(xiàn)功能。
docker run -d \
--name avahi \
--net host \
--restart always \
-v /var/run/dbus:/var/run/dbus \
--cap-add=NET_ADMIN \
--cap-add=NET_BROADCAST \
--cap-add=NET_RAW \
peez/avahi
以上是在 Docker 中運(yùn)行 Avahi 服務(wù)的命令,其中 --name 參數(shù)指定了容器的名稱為 avahi。--net 參數(shù)將容器加入主機(jī)網(wǎng)絡(luò)環(huán)境,使得容器內(nèi)的 Avahi 服務(wù)可以和主機(jī)上的設(shè)備進(jìn)行通信。
另外,為了使得 Avahi 服務(wù)能夠順利運(yùn)行,我們需要將主機(jī)上的 dbus 服務(wù)掛載到容器中,并且為容器添加一些網(wǎng)絡(luò)權(quán)限。使用上述命令,我們就能夠成功地在 Docker 容器中運(yùn)行起 Avahi 服務(wù)了。