在 Linux 中托管 Docker Internal
Docker 允许开发人员通过将应用程序包装在称为容器的标准化单元中来高效地构建、测试和部署应用程序。 在使用 Docker 容器时,您可能会遇到需要将容器与主机连接的场景。
Linux 等效于 host.docker.internal 命令
18.03 之前的 Docker 版本仅在 Mac 和 Windows 系统上支持 host.docker.internal
命令。 不过2020年12月Docker发布了20.10.0版本,后续版本支持在Linux机器上使用host.docker.internal命令连接主机。
根据 Docker 文档,如果主机的 IP 地址不断变化,我们可以使用 host.docker.internal
连接到主机,它解析为主机的内部 IP 地址。 但是,这只能在开发环境中使用。
在 Windows 和 Mac 中,使用 host.docker.internal
连接到主机要容易得多。 假设我们想连接到主机默认端口 3606 上运行的 MySQL 服务。
我们可以使用以下命令让 Docker 容器连接到此服务。
代码:
host.docker.internal:3306
另一方面,在 Linux 系统上,我们需要添加一个额外的标记才能成功连接到主机。 通过在 docker run
命令旁边添加 --add-host 标志,这仅适用于 20.10.0 之后的 Docker 版本。
代码:
$ docker run -d --add-host host.docker.internal:host-gateway new_container
此命令向 etc/hosts 目录添加一个新条目,将 host.docker.internal
映射到主机网关。 或者,我们也可以使用 172.17.0.1,也称为 localhost,这是 Docker 中默认桥接网络的网关地址。
Docker 网络是一个广泛的主题,上面的命令或方法可以根据你想要完成的事情而有不同的使用方式。
相关文章
在 Docker 中设置工作目录
发布时间:2023/04/18 浏览次数:82 分类:Docker
-
在 Docker 中,我们可以通过编辑 Dockerfile 并添加密钥 WORKDIR 来设置我们的工作目录。本文将讨论在 Docker 中更改我们当前和默认的工作目录。
在 Docker 容器中公开多个端口
发布时间:2023/04/18 浏览次数:143 分类:Docker
-
Docker 容器使用端口来实现万维网上不同设备之间的通信。 在本篇文章中,我们将学习如何使用 Nginx 应用程序在 Docker 容器中公开多个端口。
将用户添加到 Docker 容器
发布时间:2023/04/18 浏览次数:187 分类:Docker
-
在本文中,我们将学习如何通过实现返回产品数组的 Express 应用程序将用户添加到 Docker 容器。
使用 Docker 网络主机命令
发布时间:2023/04/18 浏览次数:112 分类:Docker
-
在本文中,我们将学习如何使用 --network 命令将容器添加到主机网络。 如果我们不使用此命令指定网络,我们还将了解如何将容器添加到默认网络。
清除 Docker 容器日志
发布时间:2023/04/18 浏览次数:181 分类:Docker
-
本文介绍了我们可以用来清除 docker 容器中日志的不同方法。日志是应用程序在特定事件或状态发生时记录的信息,它们帮助我们监控应用程序并采取必要的措施。
Dockerfile 中 COPY 和 ADD 命令的区别
发布时间:2023/04/18 浏览次数:158 分类:Docker
-
在 Dockerfile 中,我们可以使用 COPY 或 ADD 命令复制这些文件。 这些命令在功能上是相同的; 但是,存在一些差异。本文介绍了 Dockerfile 中 COPY 和 ADD 命令之间的区别。