2

我试过这个(它不应该返回任何东西):

$ lando ssh -s appserver -u root -c "echo \"10.0.0.132 pds\" >> /etc/hosts"
10.0.0.132 pds >> /etc/hosts


$ lando ssh -s appserver -u root -c "cat /etc/hosts"
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.26.0.2      8da36421fdb0
172.19.0.3      8da36421fdb0
172.18.0.4      8da36421fdb0

这表明它没有被添加。当我以 root 身份进入并在容器中执行此操作时,它就可以工作了。

我想在构建脚本中自动执行此操作。如何?我究竟做错了什么?

显然这可以通过“docker run --add-host”来完成,但是如何将它包含在 .lando.yml 文件中?

4

3 回答 3

1

/etc/hosts由 Docker 管理。如果确实需要添加主机记录,则使用docker run参数:

--add-host="" : 添加一行到 /etc/hosts (host:IP)

文档:https ://docs.docker.com/engine/reference/run/#network-settings

于 2019-02-20T15:40:53.817 回答
0

Lando 支持代理设置:( https://docs.lando.dev/config/proxy.html#usage )

proxy:
  web:
    - mysite.lndo.site
    - sub.mysite.lndo.site
    - bob.frank.kbox.com
    - tippecanoe.tyler.too
于 2019-11-21T22:45:13.307 回答
0

我使用“etc/hosts site:lando.dev”搜索了 Lando 文档,并在Services - Build Steps部分找到了可能的解决方案的提示。我还不能尝试,但我看到了一个例子:

services:
  servicename:
    run_as_root:
      - echo "127.0.0.1 mysite.lndo.site" >> /etc/hosts

显然,这是在服务容器内的 /etc/hosts 中追加新行的正确方法。

于 2020-04-29T17:41:44.430 回答