by Devin Yang

建立于: 3年前 ( 更新: 3年前 )

可用docker version检查,确认版本在Docker v20.10+
即可添加extra_hosts如下:

#=== php service ==========================
 php:
  build:
    context: ./dockerfiles
    dockerfile: Dockerfile-php82-${CPU-x86_64}
    args:
      USER_ID: ${USER_ID-1000}
      GROUP_ID: ${GROUP_ID-1000}
  image: ${PROJECT}_php
  extra_hosts:
    - "host.docker.internal:host-gateway"

这样我们就能在ping到host罗

dlaravel@37bc03f69cc5:/var/www/html$ ping host.docker.internal
PING host.docker.internal (172.17.0.1) 56(84) bytes of data.
64 bytes from host.docker.internal (172.17.0.1): icmp_seq=1 ttl=64 time=0.049 ms
64 bytes from host.docker.internal (172.17.0.1): icmp_seq=2 ttl=64 time=0.067 ms
64 bytes from host.docker.internal (172.17.0.1): icmp_seq=3 ttl=64 time=0.061 ms
64 bytes from host.docker.internal (172.17.0.1): icmp_seq=4 ttl=64 time=0.056 ms
64 bytes from host.docker.internal (172.17.0.1): icmp_seq=5 ttl=64 time=0.058 ms
64 bytes from host.docker.internal (172.17.0.1): icmp_seq=6 ttl=64 time=0.047 ms
64 bytes from host.docker.internal (172.17.0.1): icmp_seq=7 ttl=64 time=0.059 ms
64 bytes from host.docker.internal (172.17.0.1): icmp_seq=8 ttl=64 time=0.059 ms
64 bytes from host.docker.internal (172.17.0.1): icmp_seq=9 ttl=64 time=0.067 ms
64 bytes from host.docker.internal (172.17.0.1): icmp_seq=10 ttl=64 time=0.086 ms

或许你们会好奇这个172.17.0.1的IP是在那里可以看到,我们可以用,就能找到了
因为host-gateway就是我们 default bridge network ip。

docker inspect bridge|grep Gateway
                    "Gateway": "172.17.0.1"

Tags: docker phpenv

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


d-laravel, docker, laravel, docker-compose

D-Laravel v1.0.0 release变更说明

为了让container可以被更灵活运用,D-Laravel释出v1.0.0版了,此版本为不向下相容变更。 https://github.com/DevinY/dlaravel/releases/tag/v1.0.0 如果您使用为 v1.0.0 之前,您需修改Laravel项目的.env档,DB_HOST=127.0.0.1变更为DB_HOST=db 如果您有自定义的docker-compose-custom.yml档....more

d-laravel,docker

D-Laravel v1.2.1版变更说明(建议更新,必免踩雷)

D-Laravel v1.2.1版修正说明 use GuzzleHttp\Client; 进行post时.出现访问被拒的问题。 如果您是由旧版升级,您可能需调整etc/default-ssl.conf的设置档 (如果有该档) 请调整php:9000变更为web:9000,你可以透过运行一次./console secure调整。 docker-compose设置档部份,PHP-FPM container变更为network_mode: "service:web"...

docker,laravel,nfs

Docker在macOS上的NFS

D-laravel的nfs模式,在这篇文章您可以了解到,如何在macOS使用NFS+Docker。