Docker-Compose를 사용하여 Docker에서 Django를 MySQL에 연결할 수 없습니다.
다음을 사용하여 Docker 환경 내에서 Django와 MySQL 사이의 연결을 설정하려고 합니다. docker-compose로 인해 다음 오류가 발생할 수 있습니다.
django.db.utils.OperationalError: (2003, 'Can\'t connect to MySQL server on \'mariadb55\' (111 "Connection refused")')
솔루션
이 문제를 해결하려면 Django 설정 파일은 docker-compose.yml 파일 내의 실제 구성과 일치합니다.
문제 해결 단계:
settings.py에서 호스트를 'db'로, 포트를 '3306'으로 설정합니다.
docker-compose.yml 파일 조정:
열린 포트 확인 활성화:
예제 docker-compose .yml 파일:
version: '3' services: db: image: mariadb:5.5 restart: always environment: - MYSQL_HOST=localhost - MYSQL_PORT=3306 - MYSQL_ROOT_HOST=% - MYSQL_DATABASE=test - MYSQL_USER=belter - MYSQL_PASSWORD=belter_2017 - MYSQL_ROOT_PASSWORD=123456_abc volumes: - /home/belter/mdbdata/mdb55:/var/lib/mysql ports: - "3302:3306" web: image: onlybelter/django_py35 command: /bin/sh -c "python check_db.py --service-name mysql --ip db --port 3306" volumes: - .:/djcode
추가 팁:
다음 단계를 따르면 docker-compose를 사용하여 Docker 환경 내에서 Django와 MySQL 간의 안정적인 연결을 설정할 수 있습니다.
위 내용은 다음은 기사의 핵심을 포착하는 질문 기반 제목입니다. Docker-Compose를 사용하여 내 Django 앱이 Docker의 MySQL에 연결할 수 없는 이유는 무엇입니까? 다른 변형은 다음과 같습니다. * 장고에서 MySQL로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!