我一直试图通过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/