📜  如何为 docker 容器提供主机名 (1)

📅  最后修改于: 2023-12-03 15:37:53.566000             🧑  作者: Mango

如何为 Docker 容器提供主机名

在 Docker 中,每个容器都有自己独立的 IP 地址。但是,在某些情况下,我们需要为容器提供主机名,使得容器可以通过主机名进行访问。本文将介绍如何为 Docker 容器提供主机名。

使用 --hostname 参数

我们可以在运行容器时使用 --hostname 参数来指定容器的主机名。例如,我们可以使用以下命令运行一个容器,并将其主机名设置为 my-container:

docker run --hostname my-container my-image

在容器中,我们可以通过运行 hostname 命令来检查容器的主机名:

$ hostname
my-container
使用 --add-host 参数

除了使用 --hostname 参数外,我们还可以使用 --add-host 参数来为容器添加一个额外的主机名。例如,我们可以使用以下命令运行一个容器,并将容器主机名设置为 my-container,并将其 IP 地址设置为 192.168.0.10:

docker run --add-host my-container:192.168.0.10 my-image

在容器中,我们可以通过运行 cat /etc/hosts 命令来检查容器的主机名和 IP 地址是否已被添加:

$ cat /etc/hosts
127.0.0.1   localhost
::1         localhost ipv6-localhost ipv6-loopback
192.168.0.10    my-container
使用 Docker Compose

如果我们使用 Docker Compose 来管理多个容器,我们可以通过在 compose 文件中使用 hostname 或 extra_hosts 键来设置容器的主机名。例如,以下是一个使用 Docker Compose 的简单示例:

version: "3"
services:
  web:
    image: nginx
    hostname: my-container

我们可以在 compose 文件中为多个容器设置主机名,从而让它们能够互相访问。

到此,我们已经学会了如何为 Docker 容器提供主机名。无论是使用 --hostname 参数,还是使用 --add-host 参数或 Docker Compose,我们都可以轻松地为容器设置主机名,使得容器可以通过主机名进行访问。

(以上内容源自: How to Provide Hostname to Docker Containers)