通过Docker运行mysql脚本时出错?
我正在尝试创build一个docker容器,它将运行一个生成数据库然后表的mysql脚本。 我的Dockerfile看起来像这样:
FROM mysql:latest WORKDIR / ADD . / EXPOSE 3306 CMD mysql -u "root" -proot < "schema.sql"
但是,当我运行它我得到以下错误信息:
mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
当我运行SQL脚本时,我只收到密码错误。 感谢您的帮助!
像大多数官方docker图像一样,您可以通过入口点来configuration容器。
它被logging在mysql docker页面上 。 你可以使用MYSQL_ROOT_PASSWORD
, MYSQL_DATABASE
, MYSQL_USER
, MYSQL_PASSWORD
来configurationmysql实例。
您将通过docker-compose.yml
文件中的-e
与docker-compose.yml
或environments
选项的环境variables来设置此variables。
你可以在这里看到复制在/docker-entrypoint-initdb.d/映像中的文件(.sh,.sql,.sql.gz)将在启动过程中运行。
所以你可以这样写Dockerfile:
FROM mysql:latest COPY schema.sql /docker-entrypoint-initdb.d/ # No need to override CMD default command of mysql image