스키마를 사용하여 데이터베이스를 초기화하는 것은 특히 Docker 컨테이너를 사용할 때 복잡한 프로세스가 될 수 있습니다. 이 문서에서는 Docker 컨테이너를 사용하여 스키마로 MySQL 데이터베이스를 초기화할 때 발생하는 일반적인 문제를 다루고, 스키마를 파일에 덤프하고 /docker-entrypoint-initdb.d 디렉터리에 추가하는 방법을 기반으로 솔루션을 제공합니다.
MySQL 데이터베이스로 Docker 컨테이너를 생성하고 다음을 사용하여 스키마로 초기화하려고 할 때 Dockerfile:
FROM mysql MAINTAINER (me) <email> # Copy the database schema to the /data directory COPY files/epcis_schema.sql /data/epcis_schema.sql # Change the working directory WORKDIR data CMD mysql -u $MYSQL_USER -p $MYSQL_PASSWORD $MYSQL_DATABASE < epcis_schema.sql
컨테이너가 시작되지 않고 CMD 명령이 성공적으로 실행되지 않습니다.
스키마를 사용하여 데이터베이스를 초기화하려면 다음 단계를 따르세요. :
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
FROM mysql:5.7.15 MAINTAINER me ENV MYSQL_DATABASE=<schema_name> \ MYSQL_ROOT_PASSWORD=<password> ADD schema.sql /docker-entrypoint-initdb.d EXPOSE 3306
docker-compose build docker-compose up
/docker-entrypoint-initdb.d 디렉터리를 사용하면 컨테이너 초기화 시 SQL 파일이 MySQL 데이터베이스에 대해 자동으로 실행되어 데이터베이스가 원하는 스키마.
위 내용은 Docker 컨테이너 내에서 MySQL 데이터베이스 스키마를 성공적으로 초기화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!