>데이터 베이스 >MySQL 튜토리얼 >Dockerfile 내에서 덤프를 가져올 때 MySQL 연결 오류를 해결하는 방법은 무엇입니까?

Dockerfile 내에서 덤프를 가져올 때 MySQL 연결 오류를 해결하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-03 19:48:15399검색

How to Troubleshoot MySQL Connection Errors When Importing a Dump Within a Dockerfile?

Dockerfile 내에서 MySQL 설정 및 덤프 가져오기: 연결 오류 문제 해결

지정된 Dockerfile은 MySQL 인스턴스를 생성하고 데이터를 가져오기 위한 것입니다. 그것에 덤비십시오. 그러나 MySQL에 연결하는 동안 오류가 발생하여 데이터베이스 서버 연결에 문제가 있음을 나타냅니다.

공식 MySQL Docker 이미지에는 최근 시작 시 데이터를 가져오는 단순화된 방법이 도입되었습니다. Dockerfile의 업데이트된 버전은 다음과 같습니다.

VOLUME /var/lib/mysql
ADD dump.sql /docker-entrypoint-initdb.d/dump.sql
RUN /usr/bin/mysqld_safe & sleep 5s
RUN MYSQL_ROOT_PASSWORD=1234 MYSQL_DATABASE=mydb mysql -u root < /docker-entrypoint-initdb.d/dump.sql

이 Dockerfile에서 data-dump.sql 파일은 컨테이너 내의 /docker-entrypoint-initdb.d 디렉터리에 마운트됩니다. 컨테이너 시작 중에 스크립트는 자동으로 이 디렉터리의 데이터를 지정된 MySQL 데이터베이스로 가져옵니다.

추가 참고 사항:

  • MYSQL_ROOT_PASSWORD 환경 변수는 루트 사용자의 비밀번호입니다.
  • MYSQL_DATABASE 환경 변수는 데이터를 가져올 데이터베이스를 지정합니다. into.
  • 영구적인 데이터 저장이 필요한 경우 별도의 데이터 컨테이너를 사용하는 것이 좋습니다. 다음 Dockerfile을 데이터 컨테이너로 사용할 수 있습니다.
FROM n3ziniuka5/ubuntu-oracle-jdk:14.04-JDK8
VOLUME /var/lib/mysql
CMD ["true"]

이 단계를 따르면 MySQL을 성공적으로 설정하고 Dockerfile 내에서 데이터 덤프를 가져와서 데이터베이스가 적절하게 초기화되도록 할 수 있습니다. 신청하세요.

위 내용은 Dockerfile 내에서 덤프를 가져올 때 MySQL 연결 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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