docker에서 cakephp 환경을 준비 할 때 mysql에서 관련으로 발생한 오류

3228 단어 MySQL도커
docker로 cakephp3.6의 환경을 빌드 할 때 데이터베이스에 mysql을 사용할 때 발생한 오류와 해결 방법입니다.

오류 1


[2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

원인 host 이름과 docker-compose.yml에 지정된 서비스 이름이 다릅니다.



이것은 조사해 보면 어플리케이션측에서 지정한 host명과 docker-compose.yml로 지정한 service명이 다른 경우에 일어나는 에러인 것 같다.

docker-compose.yml
version: '3'

services:
  db:
    image: mysql:8.0
    restart: always
    container_name: cake-db
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: master
      MYSQL_USER: pass
      MYSQL_PASSWORD: pass

.env
DB_HOST=db
MYSQL_ROOT_PASSWORD:root
DB_DATABASE=master
DB_USERNAME=pass
DB_PASSWORD=pass

service 이름과 DB_HOST를 함께 사용하면 다시 수정했습니다.

오류 2


[2054] The server requested authentication method unknown to the client
이번에는 인증 시스템에서 어쨌든 오류가 발생하고 있습니다.

원인 mysql8.0에서 기본 인증 방법이 변경되었습니다.



이번에는 5.*계가 아닌 8.0의 이미지를 지정하고 있어 8.0에서 디폴트의 인증 방식이 종래의 mysql_native_password 로부터 caching_sha2_password 합니다.

db 서비스에

docker-compose.yml
command: --default-authentication-plugin=mysql_native_password

추가

오류가 해결되었습니다.



참고:
htps : //에서 v. mysql. 이 m/도 c/레 f만/8. HTML
htps : // 메비에. 인후/2020/08/17/포 st-16830/
htps : // 코 m / 노래 3 차 / ms / 47b393 5887530573118

좋은 웹페이지 즐겨찾기