networking - 在 Mac 上 Docker-compose extra_hosts

标签 networking docker docker-compose hosts

我正在尝试使用 Docker-compose 的 extra_hosts 配置将新主机添加到我的 Nginx 容器中。由于某种原因,我无法让它发挥作用。我正在使用 Docker for Mac 17.06 CE stable 和 Docker-Compose v3。这是我的配置:

nginx:
    build: ./docker/nginx
    container_name: nginx
    ports:
      - '80:80'
    volumes:
      - "${PROJECT_ROOT}:/var/www/html:ro"
    networks:
      - server
    extra_hosts:
      - 'test.local:127.0.0.1'
    depends_on:
      - php
    restart: always

我还尝试使用我的 Mac inet IP 添加额外的主机,但它也没有响应。

更新

由于某种原因,您需要编辑 Mac 的/etc/hosts 文件来添加新主机。 extra_hosts 配置不执行任何操作。

最佳答案

您需要在 Mac 中编辑此文件:/etc/sudoers

添加此:

127.0.0.1 test.local

例如:

sudo sh -c "echo 127.0.0.1 test.local >> /etc/hosts"

如果它不起作用,请尝试另一个文件:/private/etc/hosts

参见:https://www.tekrevue.com/tip/edit-hosts-file-mac-os-x/

关于networking - 在 Mac 上 Docker-compose extra_hosts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44852651/

相关文章:

docker - 获取 Docker 主机的 IPv4 地址

networking - 关于 tcp tahoe 和 reno?

JavaMail 无法从 docker 容器发送电子邮件

linux - 运行时 : failed to create new OS thread with Docker

mysql - 为 Dockerized Django 应用程序播种 MySQL 数据库

node.js - 无法使用 docker-compose 挂载 mongodb 目录卷

c++ - Boost.asio 服务器-客户端。连接两台电脑

git - 在 github 分支上构建的 Docker 找不到指定的文件

command-line - 使用 docker-compose 时如何将主机用户传递给 Dockerfile

java - 网络 Swing 游戏中的多线程 : using invokeLater vs locks