无法从远程docker容器侦听docker容器内运行的服务
我有两台机器:机器A和机器B。它们都在不同的网络上。我使用docker-compose.yml在machine-a上创建了一个docker容器,并在其中的12345端口上运行LiteCond进程。我已将端口12345转发到主机A的端口80无法从远程docker容器侦听docker容器内运行的服务,docker,docker-compose,litecoin,Docker,Docker Compose,Litecoin,我有两台机器:机器A和机器B。它们都在不同的网络上。我使用docker-compose.yml在machine-a上创建了一个docker容器,并在其中的12345端口上运行LiteCond进程。我已将端口12345转发到主机A的端口80 version: '3' services: node1: build: . cap_add: - ALL command: litecoind -regtest -server -rpcuser=rpc -rpcpas
version: '3'
services:
node1:
build: .
cap_add:
- ALL
command: litecoind -regtest -server -rpcuser=rpc -rpcpassword=x -rpcport=10340 --datadir=/root/litecoind-simnet/ -port=12345
networks:
vpcbr:
ipv4_address: 10.9.0.11
ports:
- 80:12345
networks:
vpcbr:
driver: bridge
ipam:
config:
- subnet: 10.9.0.0/16
现在在machine-B上,我可以使用litecoin的-addnode选项直接连接到上述流程,并可以看到区块链同步
当我在machine-B上创建一个容器并尝试使用machine-B上的docker-compose.yml文件通过-addnode连接到上述相同的进程时,就会出现问题。在这种情况下,litecond进程保持不可见,区块链不同步
version: '3'
services:
node1:
build: .
cap_add:
- ALL
command: litecoind -regtest -addnode=<x.x.x.x:80> -rpcuser=rpc -rpcpassword=x -rpcport=10340 --datadir=/root/litecoind-simnet/ -port=12345
networks:
vpcbr:
ipv4_address: 10.8.0.11
ports:
- 90:12345
networks:
vpcbr:
driver: bridge
ipam:
config:
- subnet: 10.8.0.0/16
版本:“3”
服务:
节点1:
生成:。
第(二)章增补:
-全部
命令:litecond-regtest-addnode=-rpcuser=rpc-rpcpassword=x-rpcport=10340--datadir=/root/litecond-simnet/-port=12345
网络:
vpcbr:
ipv4_地址:10.8.0.11
端口:
- 90:12345
网络:
vpcbr:
司机:驾驶台
ipam:
配置:
-子网:10.8.0.0/16
我希望上面两个独立的容器在两个独立的远程机器上相互通信。我错过了什么?请帮忙。谢谢。可能的解决方案是
可能的解决办法是
谢谢你的回复。我想在两台不同的远程机器上完全部署容器,因为我试图模拟从p2p网络添加和删除任何节点的真实情况。根据我的理解,在swarm模式下,我们必须使用“覆盖”网络选项,我已经尝试过,并且工作良好,但我想看看是否可以使用docker网络的桥接网络选项。那么,不使用swarm是否可能?谢谢您的回复。我想在两台不同的远程机器上完全部署容器,因为我试图模拟从p2p网络添加和删除任何节点的真实情况。根据我的理解,在swarm模式下,我们必须使用“覆盖”网络选项,我已经尝试过,并且工作良好,但我想看看是否可以使用docker网络的桥接网络选项。那么,不使用swarm有可能吗?