相关疑难解决方法(0)

多个docker-compose项目之间的通信

docker-compose.yml在两个不同的文件夹中有两个单独的文件:

  • 〜/前/搬运工-compose.yml
  • 〜/ API /搬运工-compose.yml

如何确保容器中的容器~/front/docker-compose.yml可以向容器发送请求~/api/docker-compose.yml

我知道front可以使用api单个容器设置该选项,以便可以为此容器分配特定的IP地址,但似乎此选项在使用时不可用--default-gateway.

目前我最终做了一个docker run并查看输出中的网关.它有效,但问题是这个IP是随机归因的,所以我不能依赖它.

因此,这个问题的另一种形式可能是:

  • 我可以使用docker-compose将固定IP地址归属到特定容器吗?

但最后我要照顾的是:

  • 两个不同的docker-compose项目如何相互通信?

networking docker docker-compose

191
推荐指数
12
解决办法
10万
查看次数

如何在Python中获取eth0的IP地址?

当Unix上的Python脚本发生错误时,会发送一封电子邮件.

如果IP地址是192.168.100.37(测试服务器),我被要求将{Testing Environment}添加到电子邮件的主题行.通过这种方式,我们可以拥有一个版本的脚本,以及一种判断电子邮件是否来自测试服务器上的混乱数据的方法.

但是,当我谷歌时,我一直在寻找这段代码:

import socket
socket.gethostbyname(socket.gethostname())
Run Code Online (Sandbox Code Playgroud)

但是,这给了我IP地址127.0.1.1.当我使用时,ifconfig我得到了这个

eth0      Link encap:Ethernet  HWaddr 00:1c:c4:2c:c8:3e
          inet addr:192.168.100.37  Bcast:192.168.100.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:75760697 errors:0 dropped:411180 overruns:0 frame:0
          TX packets:23166399 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:59525958247 (59.5 GB)  TX bytes:10142130096 (10.1 GB)
          Interrupt:19 Memory:f0500000-f0520000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:25573544 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25573544 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:44531490070 (44.5 GB)  TX …
Run Code Online (Sandbox Code Playgroud)

python unix networking nic

62
推荐指数
6
解决办法
15万
查看次数

Python中本地网络的IP地址/主机名列表

如何在Python中轻松获取本地网络中的IP地址或主机名列表?

如果它是多平台的,那将是最好的,但它需要首先在Mac OS X上运行,然后其他人遵循.

编辑:本地我指的是本地网络中的所有活动地址,例如192.168.xxx.xxx.

所以,如果我的电脑的IP地址(本地网络内)是192.168.1.1的,我有另外三个连接的计算机,我希望它返回的IP地址192.168.1.2,192.168.1.3,192.168.1.4,可能它们的主机名.

python networking

37
推荐指数
6
解决办法
9万
查看次数

如何使用docker-compose将docker容器相互链接

我必须使用docker-compose设置mongo副本集.对于副本集,容器必须彼此了解.

我试过了 docker-compose.yml

    dbreplicasetpart1:
      image: mongo:2.6.8
      expose:
        - '27018'
      links:
        - replicasetpart2
        - replicasetpart3
      cap_add:
        - NET_ADMIN

    dbreplicasetpart2:
      image: mongo:2.6.8
      links:
        - replicasetpart1
        - replicasetpart3
      expose:
        - '27019'
      cap_add:
        - NET_ADMIN
...
Run Code Online (Sandbox Code Playgroud)

我得到一个循环导入消息.但是,如果我删除dbreplicasetpart1的反向链接,我无法从dbreplicasetpart2 ping到dbreplicasetpart1.解决办法是什么?

docker docker-compose

24
推荐指数
2
解决办法
2万
查看次数

如何使用PHP获取服务器的外部IP?

我经常听到人们说使用" $_SERVER['SERVER_ADDR']",但它会返回我服务器的LAN IP(例如192.168.1.100).我想要外部IP.

php ip

20
推荐指数
4
解决办法
6万
查看次数

如何从接口获取物理接口IP地址

到目前为止我使用PyQt类做了什么:

all_Addresses = QNetworkInterface.allAddresses()    #list-of-QHostAddress

for addr in all_Addresses:
    print(addr.toString())
Run Code Online (Sandbox Code Playgroud)

输出:

172.16.0.186 - Virtual Interface IP address
192.168.10.2 - Physical interface IP address. I want this one.
127.0.0.1
Run Code Online (Sandbox Code Playgroud)

使用socket:

import socket
print(socket.gethostbyname(socket.gethostname()))
Run Code Online (Sandbox Code Playgroud)

输出:

172.16.0.186 - When openVPN is on
192.168.10.2 - When its off
Run Code Online (Sandbox Code Playgroud)
  1. 有没有办法区分它们?
  2. 这可以用普通的Python来完成,而不是使用PyQt类吗?
  3. 我怎样才能获得IPv6地址?

python pyqt ip-address python-3.x

19
推荐指数
3
解决办法
5万
查看次数

Flask - 如何通过路由器在外部看到应用程序?

问题简而言之

如何从一台从无线路由器访问互联网的主机PC上运行一个基于Flask的简单网站?

问题详情

根据快速入门指南,我想在互联网上看到一个烧瓶应用程序.

如果我在下面启动简单的Flask应用程序,它可以从与主机pc相同的网络上的计算机访问,但不能通过互联网通过另一个网络连接的设备访问.

问题类似于此处此处讨论的问题,添加的元素从家用PC运行似乎表明外部连接指向路由器的xx端口,而不是主机pc的xx端口,如建议的那样在这篇文章的评论中.

我做了什么

参考下面的代码,这是我做的:

  • 在控制面板中检查了我的IP地址
  • 禁用防病毒中的所有网络保护
  • 运行`ipconfig/all',在Windows机器上运行
  • 最后在连接到另一个网络的设备中打开浏览器,并将其指向相应的IP:端口地址

结果是"网页不可用".

有人遇到过同样的问题吗?这是路由器问题吗?

参考Flask app

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run(host= '0.0.0.0', port=9000, debug=False)
Run Code Online (Sandbox Code Playgroud)

python router httpserver flask python-2.7

14
推荐指数
1
解决办法
1万
查看次数

Python:获取linux中本地接口/ IP地址的默认网关

在Linux上,如何使用python找到本地IP地址/接口的默认网关?

我看到了"如何获取UPnP的内部IP,外部IP和默认网关"的问题,但是接受的解决方案仅显示了如何在Windows上获取网络接口的本地IP地址.

谢谢.

python linux networking routing

12
推荐指数
3
解决办法
3万
查看次数

Python - 获取localhost IP

可能重复:
使用Python的stdlib查找本地IP地址

要获取我的本地主机IP地址,我这样做socket.gethostbyname(socket.gethostname()).但它给了我答案127.0.0.1.如果我这样做,an_existing_socket.getsockname()[0]我会得到答案0.0.0.0.

我需要我的'真实'IP地址(例如192.168.xx)来修改配置文件.我怎么能得到它?

python sockets ip-address

11
推荐指数
2
解决办法
8万
查看次数

从同一网络上的其他设备连接到 Flask Server

亲爱的 stackoverflow 聪明人,

我知道这个问题在这里被问了很多,但到目前为止,没有一个发布的解决方案对我有用。任何帮助将不胜感激:

问题:无法从同一网络上的其他设备(PC、手机)连接到 Flask 应用服务器。(换句话说:本地主机工作正常,但我无法从外部设备连接)

我尝试过的:

1)在 app.py 中进行设置app.run(host='0.0.0.0', port=5000, debug=True, threaded=True),以便服务器监听所有可用的网络接口。

2)在 Windows Defender 防火墙中启用本地网络中端口 5000 的 TCP 流量(添加入站和出站规则)

3)在外部设备浏览器的 URL 栏中使用主机 PC 的 IPv4 地址,格式如下:http://<host_ipaddress>:<port>/

4)在外部设备浏览器的 URL 栏中使用我的主机 PC 的主机名,格式如下:http://<host_name>:<port>/

5)从 Windows Powershell 和 Python (.py) 执行器运行 app.py 文件

到目前为止,这些解决方案都不起作用,即使在尝试从几个不同的外部设备进行连接后也是如此。在此先感谢您的帮助!

python ip web-applications localhost flask

9
推荐指数
2
解决办法
2万
查看次数