>  기사  >  데이터 베이스  >  Django 및 Docker를 사용할 때 \"OperationalError: Can\'t connect to MySQL server\"를 수정하는 방법은 무엇입니까?

Django 및 Docker를 사용할 때 \"OperationalError: Can\'t connect to MySQL server\"를 수정하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-02 19:35:30513검색

How to Fix

Docker에서 Django를 MySQL에 연결

Compose를 사용하여 Docker 환경에서 Django를 MySQL에 연결하려고 하면 "OperationalError"가 발생할 수 있습니다. : MySQL 서버에 연결할 수 없습니다" 문제. 이 오류는 일반적으로 잘못된 컨테이너 구성이나 데이터베이스 설정으로 인해 발생합니다.

문제 해결

Docker에서 Django와 MySQL 간의 연결을 설정하는 데 필요한 올바른 매개 변수는 다음과 같습니다.

  • Django의 settings.py 파일에서 'HOST': 'db'를 설정합니다.
  • settings.py에서 포트 번호로 3306을 사용합니다.
  • MYSQL_PORT 환경을 설정합니다. docker-compose.yml에서 변수를 3306으로 설정합니다.
  • MYSQL_HOST 환경 변수를 localhost로 유지합니다.

성공적으로 연결되었는지 확인하려면 다음 명령을 사용할 수 있습니다. docker-compose.yml 파일:

  web:
    image: onlybelter/django_py35
    command: /bin/sh -c "python check_db.py --service-name mysql --ip db --port 3306"
    volumes:
      - .:/djcode

이 명령은 MySQL 포트가 열려 있는지 확인하는 스크립트를 실행합니다. 그렇다면 스크립트는 성공을 나타내는 메시지를 표시합니다.

추가 팁

  • MySQL 컨테이너에 직접 연결하려면 mysql -h 127.0을 사용합니다. 0.1 -P 3302 -u root -p 셸에서.
  • 여러 Django 컨테이너가 실행 중인 경우 충돌을 피하기 위해 각각에 대해 서로 다른 포트 번호를 사용해야 합니다.
  • 다음을 사용할 수 있습니다. Docker의 docker-compose 로그 명령은 데이터베이스 연결과 관련된 잠재적인 오류나 경고를 확인합니다.

위 내용은 Django 및 Docker를 사용할 때 \"OperationalError: Can\'t connect to MySQL server\"를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.