docker跨主机通信

 

创建overlay网卡

docker network create -d overlay --subnet 192.168.0.0/16 ov_net1 #指定子网

docker network create -d overlay  ov_net2 #不指定子网

docker network ls #查看网络

container使用此网络

docker run -it --network ov_net1 --ip 192.168.0.3 --name host ubuntu:16.04

 

 

https://www.cnblogs.com/purpleraintear/p/6012695.html

转载于:https://www.cnblogs.com/i-shu/p/11439512.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于第一个问题,我可以为您解答Java UDP网段广播与接收的问题。 首先,UDP是一种无连接的传输协议,它不像TCP那样建立连接,而是直接将数据包发送出去。因此,UDP广播可以实现网段的传输。 下面是一个Java UDP广播和接收的示例代码: 广播端: ```java import java.net.*; public class UDPBroadcaster { public static void main(String[] args) throws Exception { DatagramSocket socket = new DatagramSocket(); socket.setBroadcast(true); String message = "Hello, World!"; DatagramPacket packet = new DatagramPacket(message.getBytes(), message.length(), InetAddress.getByName("255.255.255.255"), 8888); socket.send(packet); socket.close(); } } ``` 接收端: ```java import java.net.*; public class UDPReceiver { public static void main(String[] args) throws Exception { DatagramSocket socket = new DatagramSocket(8888); byte[] buffer = new byte[1024]; DatagramPacket packet = new DatagramPacket(buffer, buffer.length); socket.receive(packet); String message = new String(packet.getData(), 0, packet.getLength()); System.out.println("Received message: " + message); socket.close(); } } ``` 在广播端,我们创建了一个DatagramSocket,并将其设置为广播模式。然后,我们创建一个DatagramPacket,并将其发送到广播地址(255.255.255.255)的端口8888。在接收端,我们同样创建了一个DatagramSocket,并指定端口号为8888。当接收到数据包时,我们可以从DatagramPacket中获取数据,并将其转换为字符串。 接下来,我为您解答第二个问题。如果您想在Docker容器之间实现主机通信,您可以使用Docker网络。Docker网络是一种虚拟网络,它允许Docker容器在同一主机或不同主机之间进行通信。 下面是一个使用Docker网络进行主机通信的示例: 假设我们有两台主机,分别为Host1和Host2。我们在Host1上创建一个名为mynetwork的Docker网络,并在该网络中启动一个名为container1的容器: ``` docker network create mynetwork docker run --name container1 --network mynetwork -d busybox sleep 3600 ``` 然后,在Host2上也创建一个名为mynetwork的Docker网络,并在该网络中启动一个名为container2的容器: ``` docker network create mynetwork docker run --name container2 --network mynetwork -d busybox sleep 3600 ``` 现在,我们可以在container1中ping container2: ``` docker exec container1 ping container2 ``` 在这个示例中,我们使用Docker网络实现了在两台主机之间的容器通信。您可以使用类似的方法在其他应用程序中实现主机通信。 希望以上解答对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值