gpt4 book ai didi

docker - 如何从 docker 容器中宣传和浏览 mDNS?

转载 作者:IT老高 更新时间:2023-10-28 21:23:57 26 4
gpt4 key购买 nike

我正在尝试创建一个基于 ubuntu 17.04 的 docker 容器,该容器可以浏览我的网络(docker 网络之外)上的 mDNS,并在 mDNS 上向我的网络(docker 网络之外)做广告。

我希望能够在 macOS 主机(在我的开发过程中)和 Linux (Debian) 主机上运行此 docker 容器以用于生产。

https://github.com/ianblenke/docker-avahi似乎已经为 Linux 主机解决了这个问题(利用 avahi 守护程序并将/var/run/dbus 卷映射到主机)。当我在我的 macbook 上开发时,我想使用 mDNSResponder。

如何创建一个可以在我的本地网络上做广告和浏览的容器,它也可以在我的 macOS 笔记本电脑和 Linux 服务器上运行?

这是我目前所拥有的。

Dockerfile

FROM ubuntu:17.04    
WORKDIR /app

RUN apt-get update && apt-get install -yq avahi-daemon avahi-utils libnss-mdns \
&& apt-get -qq -y autoclean \
&& apt-get -qq -y autoremove \
&& apt-get -qq -y clean

RUN update-rc.d avahi-daemon enable

COPY docker/etc/nsswitch.conf /etc/nsswitch.conf
COPY docker/etc/avahi-daemon.conf /etc/avahi/avahi-daemon.conf

COPY docker/start.sh /app

CMD ["/bin/bash","start.sh"]

start.sh

#!/bin/bash

service avahi-daemon restart
service avahi-daemon status
avahi-browse -a

nsswitch.conf

主机:文件 mdns_minimal [NOTFOUND=return] dns

avahi-daemon.conf

...
enable-dbus=no
...

运行

docker run --net=host -it mdns1
* Restarting Avahi mDNS/DNS-SD Daemon avahi-daemon [ OK ]
Avahi mDNS/DNS-SD Daemon is running
Failed to create client object: Daemon not running

您可以看到 avahi-daemon 正在运行,但 avahi-browse 认为它不是。这是因为我禁用了 dbus 吗?

在我的 mac 上的 17.04 virtualbox 镜像中运行相同的命令(除了我保留 enable-dbus=yes)一切正常。

更新:看来你可以not do bridged networking on a macOS主持人。那么我想做的事情是不可能的吗?

最佳答案

我目前正在尝试让 avahi 在 docker 容器中工作,并且在我的研究中遇到了这个问题:

you can in the Avahi settings configuration disable dbus so it won't use it. Then when you run Avahi in Docker you must pass it the --no-rlimits flag and it'll work without compromising your containers security.

https://www.reddit.com/r/docker/comments/54ufz2/is_there_any_way_to_run_avahi_in_docker_without/

希望这对您的情况有所帮助。

关于docker - 如何从 docker 容器中宣传和浏览 mDNS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44078097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com