当前位置: 首页 > 知识库问答 >
问题:

linux与“host.docker.internal”的等价物是什么[重复]

裴威
2023-03-14

在Mac和Windows上,可以使用

是否有一款Linux操作系统可以在不传递env变量或使用各种CLI命令提取env变量的情况下开箱即用?

共有3个答案

方夜洛
2023-03-14

如果您使用的是Docker ComposeLinux,则必须手动添加它(至少目前是这样)。在docker compose上使用额外的\u主机。yaml文件:

version: '3.7'

services:

  fpm:
    build:
      context: .
    extra_hosts:
      - "host.docker.internal:host-gateway"

文档-https://docs.docker.com/compose/compose-file/compose-file-v3/#extra_hosts

不要忘记更新Docker,因为这只适用于Docker v20。10 .

来源:https://github.com/docker/for-linux/issues/264#issuecomment-784985736

束福
2023-03-14

对于linux系统,您可以-从docker引擎的主要版本20.04开始-现在也可以通过host.docker.internal与主机通信。这不会自动工作,但您需要提供以下运行标志:

--add-host=host.docker.internal:host-gateway

请看下面的答案:https://stackoverflow.com/a/61424570/3757139

另请参见下面的答案,以添加到docker compose文件中-https://stackoverflow.com/a/67158212/243392

罗浩然
2023-03-14

取决于您尝试做什么。如果您使用--net=host运行,localhost应该可以正常工作。如果您使用默认网络,请使用静态IP172.17.0.1。我怀疑两者都不会与这些域的行为完全相同。

 类似资料: