- 프로젝트 디렉토리에
init.sql
파일을 생성:
CREATE DATABASE IF NOT EXISTS wordpressdb;
CREATE DATABASE IF NOT EXISTS ownclouddb;
CREATE USER 'wordpressuser'@'%' IDENTIFIED BY 'wordpress';
CREATE USER 'ownclouduser'@'%' IDENTIFIED BY 'owncloud';
GRANT ALL PRIVILEGES ON wordpressdb.* TO 'wordpress'@'%';
GRANT ALL PRIVILEGES ON ownclouddb.* TO 'owncloud'@'%';
FLUSH PRIVILEGES;
docker-compose.yml
파일에서 초기화 스크립트를 마운트:
mysql-db:
image: mysql:latest
container_name: mysql-db
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpassword
volumes:
- db_data:/var/lib/mysql
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
● 컨테이너 시작 후 수동으로 데이터베이스 생성 방법
- 컨테이너에 접속:
docker exec -it mysql-db mysql -uroot -p
- MySQL에서 다음 명령을 실행:
CREATE DATABASE ownclouddb;
CREATE USER 'ownclouduser'@'%' IDENTIFIED BY 'owncloud';
GRANT ALL PRIVILEGES ON ownclouddb.* TO 'owncloud'@'%';
FLUSH PRIVILEGES;
『 출처 – ChatGPT 』