我正在尝试使用MySQL数据库创建一个容器,并为这些数据库添加一个模式.
我目前的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
Run Code Online (Sandbox Code Playgroud)
为了创建容器,我遵循Docker上提供的文档并执行此命令:
docker run --name ${CONTAINER_NAME} -e MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD} -e MYSQL_USER=${DB_USER} -e MYSQL_PASSWORD=${DB_USER_PASSWORD} -e MYSQL_DATABASE=${DB_NAME} -d mvpgomes/epcisdb
Run Code Online (Sandbox Code Playgroud)
但是当我执行此命令时,不会创建Container,并且在Container状态下可以看到CMD未成功执行,实际上只mysql执行了命令.
无论如何,有没有办法用模式初始化数据库,还是我需要手动执行这些操作?