linux系统如何配置host.docker.internal

news/2025/2/22 15:27:09

方法1:使用 --add-host 参数

在运行容器时,可以通过 --add-host 参数手动将宿主机的IP地址映射到 host.docker.internal

  1. 获取宿主机的IP地址:

    ip route show default | awk '/default/ {print $3}'
    

    通常,宿主机的IP地址是 172.17.0.1(Docker默认网桥的网关地址)。

  2. 运行容器时添加 --add-host 参数:

    docker run --add-host=host.docker.internal:172.17.0.1 your_image
    

方法2:修改Docker守护进程配置

通过修改Docker守护进程的配置文件,可以全局启用 host.docker.internal

  1. 编辑Docker守护进程配置文件(通常是 /etc/docker/daemon.json):

    sudo nano /etc/docker/daemon.json
    
  2. 添加以下内容:

    {
      "dns": ["8.8.8.8", "8.8.4.4"],
      "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"],
      "extra-hosts": ["host.docker.internal:host-gateway"]
    }
    
  3. 重启Docker服务:

    sudo systemctl restart docker
    

dockercompose_42">方法3:使用 docker-compose

如果你使用 docker-compose,可以在 docker-compose.yml 文件中配置 extra_hosts

  1. 编辑 docker-compose.yml 文件:

    version: '3'
    services:
      your_service:
        image: your_image
        extra_hosts:
          - "host.docker.internal:host-gateway"
    
  2. 启动服务:

    docker-compose up
    

方法4:直接使用宿主机的IP地址

如果你不需要 host.docker.internal 这个名称,可以直接使用宿主机的IP地址。

  1. 获取宿主机的IP地址:

    hostname -I | awk '{print $1}'
    
  2. 在容器中使用该IP地址访问宿主机。


总结

在Linux上,host.docker.internal 默认不可用,但可以通过 --add-host、修改Docker配置或使用 docker-compose 实现类似功能。选择最适合你的方法即可。


http://www.niftyadmin.cn/n/5862449.html

相关文章

如何在 Vue 应用中实现权限管理?

在 Vue 应用中实现权限管理是确保用户只能访问其有权访问的资源的重要步骤。以下是一些常见的步骤和最佳实践,用于在 Vue 应用中实现权限管理。 1. 定义权限结构 首先,需要定义应用的权限结构。这通常包括角色和权限的概念。 角色和权限示例 角色&am…

ios UICollectionView使用自定义UICollectionViewCell

和UITableView用法类似,UITableView主要是显示按行排列的数据,UICollectionView则用在显示多行多列的数据,今天我们继续来实现app下载页面的效果。 1.先自定义UICollectionViewCell,一个cell就相当于列表中的一项了。 记得勾上&a…

算法专题(四):前缀和

目录 刷题汇总:传送门! 一、【模板】前缀和 1.1 题目 1.2 思路 1.3 代码实现 二、【模板】二维前缀和 2.1 题目 2.2 思路 2.3 代码实现 三、寻找数组的中心下标 3.1 题目 3.2 思路 3.3 代码实现 四、 除自身以外数组的乘积 4.1 题目 4…

Spring MVC的基本概念

1. Spring MVC 的核心概念 Spring MVC 是基于 MVC 设计模式的框架,其核心组件包括: Controller(控制器):接收用户请求,处理业务逻辑,并返回视图名称或数据。 Model(模型&#xff0…

内核数据结构用法(5)hlist

hlist hlist(哈希链表)是一种在 Linux 内核中使用的链表结构,主要用于实现哈希表。它是一种轻量级的数据结构,适用于需要高效插入和删除操作的场景。以下是对 hlist 的详细介绍及用法。 hlist 的结构 在 Linux 内核中&#xff…

图论 之 迪斯科特拉算法求解最短路径

文章目录 题目743.网络延迟时间3341.到达最后一个房间的最少时间I 求解最短路径的问题,分为使用BFS和使用迪斯科特拉算法,这两种算法求解的范围是有区别的 BFS适合求解,边的权值都是1的图中的最短路径的问题 图论 之 BFS迪斯科特拉算法适合求…

Linux自学day24-进程和线程2

一 进程结束 这段代码的主要功能是创建一个子进程,子进程休眠 10 秒后以退出状态码 10 结束,父进程等待子进程结束并回收其资源,同时根据子进程的退出状态输出相应的信息。 int main(int argc, const char **argv) {// 定义一个 pid_t 类…

飞书API

extend目录下,API <?php // ---------------------------------------------------------------------- // | 飞书API // ---------------------------------------------------------------------- // | COPYRIGHT (C) 2021 http://www.jeoshi.com All rights reserved. …