Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker Swarm中的网络问题_Docker_Docker Compose_Docker Swarm_Vlc - Fatal编程技术网

Docker Swarm中的网络问题

Docker Swarm中的网络问题,docker,docker-compose,docker-swarm,vlc,Docker,Docker Compose,Docker Swarm,Vlc,我一直试图通过swarm在docker compose上复制(在同一网络中的其他机器上)这个容器播放的视频 services: vlc: image: boydachina/vlc-server ports: - 8080:8080 - 8554:8554 networks:

我一直试图通过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放在桥接模式下。我需要在网络上的多台机器上播放视频,有人有任何解决方案吗?

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

docker网络创建——驱动程序覆盖vlc\U网络
这将创建一个覆盖整个集群的覆盖网络

然后尝试如下设置网络选项:

网络:
vlc_网:
驱动程序:覆盖
外部:正确

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

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

docker网络创建——驱动程序覆盖vlc\U网络
这将创建一个覆盖整个集群的覆盖网络

然后尝试如下设置网络选项:

网络:
vlc_网:
驱动程序:覆盖
外部:正确

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

我尝试过并给出了此错误
网络“vlc_net”声明为外部,但找不到。您需要在部署堆栈之前创建一个群集范围的网络
我尝试并给出了此错误
网络“vlc_net”声明为外部,但找不到。在部署堆栈之前,您需要创建一个群集范围的网络