Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义mysql docker映像的问题_Mysql_Docker - Fatal编程技术网

自定义mysql docker映像的问题

自定义mysql docker映像的问题,mysql,docker,Mysql,Docker,我一直在尝试dockerize我的node js应用程序,它利用mysqldb作为数据库,我遇到了如何dockerize mysql的问题。我想在mysql上构建我的自定义docker映像,运行mysql时创建数据库和表,以便我的NodeJS应用程序可以使用这些数据库和表。下面是我自定义mysql docker映像的代码 FROM mysql:5.7 ENV MYSQL_ROOT_PASSWORD root ENV MYSQL_DATABASE degreeclearencedatabase

我一直在尝试dockerize我的node js应用程序,它利用mysqldb作为数据库,我遇到了如何dockerize mysql的问题。我想在mysql上构建我的自定义docker映像,运行mysql时创建数据库和表,以便我的NodeJS应用程序可以使用这些数据库和表。下面是我自定义mysql docker映像的代码

FROM mysql:5.7


ENV MYSQL_ROOT_PASSWORD root
ENV MYSQL_DATABASE degreeclearencedatabase
ENV MYSQL_USER root
ENV MYSQL_PASSWORD 123456

COPY ./sqlscripts/ /docker-entrypoint-initdb.d/



EXPOSE 3306


CMD ["mysqld"]
下面是我的sql脚本

CREATE TABLE employees (
first_name varchar(25),
last_name  varchar(25),
department varchar(15),
email  varchar(50)
);
在构建此映像时,我得到了以下日志

root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
现在,当我运行该自定义图像的容器时,我无法登录到mysql,并出现以下错误

无法通过套接字连接到本地MySQL服务器 “/var/run/mysqld/mysqld.sock”

如果有人帮助我识别docker文件中的错误,我会非常感激


谢谢,

您能否提供运行mysql映像所使用的
docker run
命令?您是否尝试过合成,而不是将所有内容集中到一个容器中?通常可以与标准容器和图像一起使用,以实现自定义应用程序。docker compose文档的Drupal一章展示了如何将标准mysql容器链接到Drupal容器,以创建由2个容器组成的应用程序。虽然drupal是PHP,您需要nodejs,但关注点(容器间通信)和解决方案(--link)是相似的。