【问题标题】:Assign Host IP-Address to Docker Container将主机 IP 地址分配给 Docker 容器
【发布时间】:2018-11-13 01:55:25
【问题描述】:

是否可以将主机系统的ip地址分配给docker容器?

上下文: 我想通过为 Srcapy 使用 Elasticsearch-Pipline 来访问我的 AWS Elasticsearch Service (ES) 域。 ES 域只能访问某些 IP 地址。目前,我在运行 scrapy 蜘蛛时收到“连接被拒绝错误”。据我了解,docker 容器获取动态 IP 地址(然后不在允许的 IP 中)。由于允许主机的 IP 地址访问 ES 域,我想将此 IP 分配给运行 scrapy 蜘蛛的 docker 容器。

目前,我在自己的机器上尝试使用 Docker for Windwos 进行描述。更进一步,我想在 AWS EC2 实例上运行容器。

我的scrapy项目的当前settings.py:

ITEM_PIPELINES = {
  'scrapyelasticsearch.scrapyelasticsearch.ElasticSearchPipeline' : 300
}

ELASTICSEARCH_SERVER = 'https://testdomain.us-east-2.es.amazonaws.com' 
ELASTICSEARCH_PORT = 443
ELASTICSEARCH_INDEX = 'testindex'
ELASTICSEARCH_TYPE = 'testtype'

提前致谢

【问题讨论】:

  • 不确定我是否关注,为什么不发布您需要从 docker 外部访问的端口?
  • 显然我的配置有问题。现在我收到一个错误,它可能与 IP 地址see 无关。但要澄清我的问题:我的 ES 域只能用于例如99.999.999.99(也可以通过 docker 主机的 IP)。所以我必须确保我仍然可以从 docker 容器内使用 IP 99.999.999.99 访问我的 ES 域。
  • 这仍然可以通过发布所需的端口来处理(容器可以连接到主机并返回到另一个容器)。但是,如果要在容器之间进行通信,最好使用普通用户创建的 docker 网络。

标签: amazon-web-services docker elasticsearch scrapy


【解决方案1】:

我认为

docker container create --net host ...

会为你做的。

【讨论】:

    猜你喜欢
    • 2016-04-15
    • 2013-09-15
    • 1970-01-01
    • 2023-02-03
    • 2022-06-14
    • 2020-10-18
    • 2014-05-21
    • 2013-06-14
    相关资源
    最近更新 更多