dockerfile mysql_pwd_Docker-使用RUN(ERROR 2002)在Dockerfile中使用MySQL...

我正在使用Docker创建一个以mysql为基础映像的dockerfile:

FROM mysql

#set root pass

ENV MYSQL_ROOT_PASSWORD password

#update linux

RUN apt-get update

#create database

RUN mysql -u root -ppassword -e "CREATE DATABASE dbname"

#install vim

RUN apt-get install vim -y

在我尝试创建数据库的步骤上,dockerfile失败,它没有完成构建,并且我收到此错误:

错误2002(HY000):无法通过套接字’/var/run/mysqld/mysqld.sock’连接到本地MySQL服务器

当我删除#create database run命令时,将构建dockerfile,并且能够从该映像运行容器.我知道这不是mysql服务器的问题,因为我可以输入容器并成功手动运行mysql命令,并且服务状态正在运行.

在文件中使用环境变量(即MYSQL_ROOT_PASSWORD)还可以使我成功创建数据库,但这仅适用于单个数据库,我需要能够使用mysql命令进行查询,例如创建其他数据库/分配用户等. .

这可能是因为我需要指定docker容器的主机和端口,但这仍然不允许我连接

RUN mysql -u root -ppassword -h 127.0.0.1 -P 3308 -e "CREATE DATABASE dbname"

奇怪的是,这样做通常还会使容器崩溃,并使其处于每次启动时都会再次崩溃的状态.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值