M1 Macbook Pro에서 Docker의 Xdebug가 작동하지 않음
2157 단어 PHPxdebugdocker-compose도커M1
환경
Docker Desktop (Preview): 0.0.0(1)
OS: macOS Big Sur 11.1
IDE: PHPStorm
PHP: 7.2
Xdebug: 2.9.8
전제
통상의 Xdebug 설정등은 할애.
기존(Intel Macbook)에서 움직이고 있는 환경이 움직이지 않는다는 상태.
현상
php.ini
에서 설정한 xdebug.log
에 다음과 같은 오류가 있습니다.
[71] Log opened at 2020-12-29 07:57:31
[71] I: Connecting to configured address/port: host.docker.internal:9005.
[71] W: Creating socket for 'host.docker.internal:9000', getaddrinfo: Invalid argument.
[71] E: Could not connect to client. :-(
[71] Log closed at 2020-12-29 07:57:36
원인과 해결
Docker 공식 문서 에 既知の問題
로 올랐다
The DNS name host.docker.internal only works if you add --add-host=host.docker.internal:host-gateway to the docker run command
DNS 이름의 host.docker.internal 은 docker run
에 --add-host=host.docker.internal:host-gateway
를 추가하지 않으면 사용할 수 없다는 것.
이것을 docker-compose로하면,
extra_hosts:
- "host.docker.internal:host-gateway"
를 써줄 필요가 있다.
그러면, 컨테이너내의 /etc/hosts
로 이하의 기술을 발견.
192.168.65.1 host.docker.internal
이것으로 움직인다. . . 는 안 된다.
E: Time-out connecting to client (Waited: 200 ms). :-(
접속이 타임 아웃 해 버리는 모양. . .
분명히 컨테이너 -> 호스트 (Mac) 통신이 도착하지 않은 느낌.
여러가지 시도한 결과, host-gateway
를 자신의 IP로 하면 움직였다!
extra_hosts:
- "host.docker.internal:192.168.xxx.xxx"
자신의 IP는 터미널 상에서 아래에서 취할 수 있습니다.
ipconfig getifaddr en0
미래의 도전
이것으로 일단 해결. . . 그렇지만, 보통은 DHCP로 IP라든지 자동 설정되어 IP를 동적으로 바꾸도록 하고 싶다. . .
IP를 환경 변수에 넣고 빌드할 때 읽을 수 있도록 하거나 컨테이너 내의 호스트를 다시 쓰는 스크립트를 작성할 것인가? . .
Reference
이 문제에 관하여(M1 Macbook Pro에서 Docker의 Xdebug가 작동하지 않음), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kaz_goto/items/f8b24d0eea6f2973c41a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
통상의 Xdebug 설정등은 할애.
기존(Intel Macbook)에서 움직이고 있는 환경이 움직이지 않는다는 상태.
현상
php.ini
에서 설정한 xdebug.log
에 다음과 같은 오류가 있습니다.
[71] Log opened at 2020-12-29 07:57:31
[71] I: Connecting to configured address/port: host.docker.internal:9005.
[71] W: Creating socket for 'host.docker.internal:9000', getaddrinfo: Invalid argument.
[71] E: Could not connect to client. :-(
[71] Log closed at 2020-12-29 07:57:36
원인과 해결
Docker 공식 문서 에 既知の問題
로 올랐다
The DNS name host.docker.internal only works if you add --add-host=host.docker.internal:host-gateway to the docker run command
DNS 이름의 host.docker.internal 은 docker run
에 --add-host=host.docker.internal:host-gateway
를 추가하지 않으면 사용할 수 없다는 것.
이것을 docker-compose로하면,
extra_hosts:
- "host.docker.internal:host-gateway"
를 써줄 필요가 있다.
그러면, 컨테이너내의 /etc/hosts
로 이하의 기술을 발견.
192.168.65.1 host.docker.internal
이것으로 움직인다. . . 는 안 된다.
E: Time-out connecting to client (Waited: 200 ms). :-(
접속이 타임 아웃 해 버리는 모양. . .
분명히 컨테이너 -> 호스트 (Mac) 통신이 도착하지 않은 느낌.
여러가지 시도한 결과, host-gateway
를 자신의 IP로 하면 움직였다!
extra_hosts:
- "host.docker.internal:192.168.xxx.xxx"
자신의 IP는 터미널 상에서 아래에서 취할 수 있습니다.
ipconfig getifaddr en0
미래의 도전
이것으로 일단 해결. . . 그렇지만, 보통은 DHCP로 IP라든지 자동 설정되어 IP를 동적으로 바꾸도록 하고 싶다. . .
IP를 환경 변수에 넣고 빌드할 때 읽을 수 있도록 하거나 컨테이너 내의 호스트를 다시 쓰는 스크립트를 작성할 것인가? . .
Reference
이 문제에 관하여(M1 Macbook Pro에서 Docker의 Xdebug가 작동하지 않음), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kaz_goto/items/f8b24d0eea6f2973c41a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[71] Log opened at 2020-12-29 07:57:31
[71] I: Connecting to configured address/port: host.docker.internal:9005.
[71] W: Creating socket for 'host.docker.internal:9000', getaddrinfo: Invalid argument.
[71] E: Could not connect to client. :-(
[71] Log closed at 2020-12-29 07:57:36
Docker 공식 문서 에
既知の問題
로 올랐다 The DNS name host.docker.internal only works if you add --add-host=host.docker.internal:host-gateway to the docker run command
DNS 이름의 host.docker.internal 은
docker run
에 --add-host=host.docker.internal:host-gateway
를 추가하지 않으면 사용할 수 없다는 것.이것을 docker-compose로하면,
extra_hosts:
- "host.docker.internal:host-gateway"
를 써줄 필요가 있다.
그러면, 컨테이너내의
/etc/hosts
로 이하의 기술을 발견.192.168.65.1 host.docker.internal
이것으로 움직인다. . . 는 안 된다.
E: Time-out connecting to client (Waited: 200 ms). :-(
접속이 타임 아웃 해 버리는 모양. . .
분명히 컨테이너 -> 호스트 (Mac) 통신이 도착하지 않은 느낌.
여러가지 시도한 결과,
host-gateway
를 자신의 IP로 하면 움직였다! extra_hosts:
- "host.docker.internal:192.168.xxx.xxx"
자신의 IP는 터미널 상에서 아래에서 취할 수 있습니다.
ipconfig getifaddr en0
미래의 도전
이것으로 일단 해결. . . 그렇지만, 보통은 DHCP로 IP라든지 자동 설정되어 IP를 동적으로 바꾸도록 하고 싶다. . .
IP를 환경 변수에 넣고 빌드할 때 읽을 수 있도록 하거나 컨테이너 내의 호스트를 다시 쓰는 스크립트를 작성할 것인가? . .
Reference
이 문제에 관하여(M1 Macbook Pro에서 Docker의 Xdebug가 작동하지 않음), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kaz_goto/items/f8b24d0eea6f2973c41a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(M1 Macbook Pro에서 Docker의 Xdebug가 작동하지 않음), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kaz_goto/items/f8b24d0eea6f2973c41a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)