gpt4 book ai didi

mysql - 通过 Docker 运行 mysql 脚本时出错?

转载 作者:行者123 更新时间:2023-11-29 18:08:11 29 4
gpt4 key购买 nike

我正在尝试创建一个 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 镜像一样,您可以通过入口点配置容器。

记录在 mysql docker page 。您可以使用MYSQL_ROOT_PASSWORDMYSQL_DATABASEMYSQL_USERMYSQL_PASSWORD来配置mysql实例。

您将通过docker-compose.yml<中的-edockerenvironments选项通过环境变量设置此变量 文件。

您可以在 here 中看到/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

关于mysql - 通过 Docker 运行 mysql 脚本时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47640838/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com