gpt4 book ai didi

mysql - 配置mysql/mysql-server dockerfile的问题

转载 作者:太空宇宙 更新时间:2023-11-04 12:16:08 27 4
gpt4 key购买 nike

我是应用计算机科学专业的二年级学生,我在配置 mysql docker 时遇到了一些问题。作为一项任务,我们必须创建 2 个 docker 镜像(一个使用 apache/php 和一个简单的 php 网页,另一个使用 mysql)。我已经创建了 apache/php docker,这并不难,但我在 mysql 方面遇到了很多困难。

文件

./Dockerfile
./test.sql

docker 文件

FROM mysql/mysql-server

ENV MYSQL_ROOT_PASSWORD=lindert

RUN mkdir /usr/sql
RUN chmod 644 /usr/sql
ADD test.sql /usr/sql/test.sql

run MYSQL -u root -p${MYSQL_ROOT_PASSWORD} -e "CREATE DATABASE \
shippingdb" && mysql -u root -p${MYSQL_ROOT_PASSWORD} shippingdb <
/usr/sql/test.sql

当我运行“docker build”时。弹出此错误:

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/lib/mysql/mysql.sock' (2)

我不知道如何解决这个问题,我已经用谷歌搜索了 3 个小时,但我还没有找到答案,如果有人能提供帮助就太好了。谢谢!

最佳答案

将你的 sql 文件挂载到 '/docker-entrypoint-initdb.d' 路径,它将被导入。将你的“CREATE DATABASE”调用放在 sql 文件中

IE:Dockerfile 和 sql 文件在你的工作/root 目录中

FROM mysql/mysql-server

ENV MYSQL_ROOT_PASSWORD=lindert

RUN mkdir /usr/sql
RUN chmod 644 /usr/sql
VOLUME ./ /docker-entrypoint-initdb.d

这是官方 mysql 镜像的 docker hub 页面上提到的 https://hub.docker.com/_/mysql/

关于mysql - 配置mysql/mysql-server dockerfile的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47381307/

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