Docker:浏览到主机上的容器不起作用

时间:2019-12-14 16:04:31

标签: docker networking docker-compose debian virtual-machine

我正在使用Docker Compose在Debian VM上的Docker内部运行基本的Web应用程序(PHP)。 当执行sudo docker-compose up -d时,所有容器开始运行就很好。

我的端口设置如下:应用程序本身8007,PHPMyAdmin 8008,Portainer 9009。

Debian VM的IP为192.168.56.102

在VM内使用curl浏览到http://192.168.56.102:8007时,页面加载没有问题。

但是,当在Windows 10主机(Chrome)上浏览到相同的URL时,出现连接超时。

从主机到VM ping 192.168.56.102,反之亦然,SSH也是如此。

有人知道为什么我无法浏览这些页面,尽管在VM内一切正常,并且主机和VM显然能够通信吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题。

如@larsks所建议,Debian中的某些防火墙规则阻止了该连接。我已经尝试过import React, { Component } from 'react'; import {choice} from './helpers'; import './Box.css' class Box extends Component { static defaultProps = { allColors: ["purple", "magenta", "violet", "pink"] }; constructor(props){ super(props); this.state = {color: choice(this.props.allcolors)}; this.handleClick = this.handleClick.bind(this); } handleClick(){ } render(){ return( <div className="Box" style={{backgroundColor: this.state.color} } onClick={this.handleClick}> </div> ); } } export default Box; 来刷新防火墙规则,我认为这已经足够了,但事实并非如此。

运行所有这些命令后,Debian防火墙已完全重置,问题已修复:

/sbin/iptables -F