我一直试图通过swarm在docker-compose上重现此容器(在同一网络中的其他机器中)播放的视频。

services:
        vlc:
                image: boydachina/vlc-server
                ports:
                        - 8080:8080
                        - 8554:8554
                networks:
                        - vlc_net
                command:
                        - cvlc -vvv /opt/vlc-media/python.mp4 --sout '#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:8554/}'
                volumes:
                        - ./media:/opt/vlc-media/
networks:
        vlc_net:

但是,好像从另一台机器的容器到我的机器没有网络。我以为将其置于桥接模式可以解决该问题,但是我看到您无法将Docker Swarm置于桥接模式。我需要在网络上的多台计算机上播放视频,有人可以解决吗?

最佳答案

在将堆栈部署到群集之前,使用覆盖驱动程序将create a Docker Network部署到群集(请注意,网络名称必须唯一):

docker network create --driver overlay vlc_net

这将创建一个覆盖整个群体的覆盖网络。

然后尝试像这样设置网络选项:

networks:
  vlc_net:
    driver: overlay
    external: true

它还可能有助于您查看Traefik如何在docker群中管理其网络并尝试复制它,因为群中的所有容器都可以连接到Traefik,这似乎是您要解决的用例。

关于docker - Docker Swarm中的网络问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60552908/

10-16 16:44