当前位置: 首页 > 知识库问答 >
问题:

Mariadb映像的Dockerfile

左康安
2023-03-14

在创建docker映像时,我想添加一个数据库和导入模式。当我尝试时,我得到了下面的错误。

160829 22:32:44 mysqld_safe日志记录到'/var/lib/mysql/2DA0903FF372.err'。160829 22:32:44 mysqld_safe从pid文件/var/run/mysqld/mysqld.pid ende d错误2002(HY000):无法通过套接字“/var/run/mysqld/mysqld.sock”连接到本地mysql服务器(2“没有这样的文件或目录”)命令“/bin/sh-c/bin/bash-c”/usr/bin/mysqld_safe&“&&sleep 5&&mysq L-u root-e”create DATABASE portal“&&mysql-u root portal根门户

下面是我用来创建图像的Dockerfile。

FROM mariadb:latest
# Author
MAINTAINER Anvar 
# Add files 
ADD my.cnf /etc/mysql/my.cnf
ADD ddl.sql /tmp/ddl.sql
ADD dml.sql /tmp/dml.sql

RUN  /bin/bash -c "/usr/bin/mysqld_safe &" && sleep 5 && mysql -u root -CREATE DATABASE portal" && mysql -u root portal < /tmp/ddl.sql`

请指教我哪里做错了?。

共有1个答案

丰超
2023-03-14

简单地说,我需要在/docker-entrypoint-initdb.d/*中一个接一个地复制我的sql文件DDL和DML。下面是更正的代码。docker-entrypoint.sh具有在旋转容器时执行它们的逻辑。

FROM mariadb:latest
# Author
MAINTAINER Anvar 
# Add files 
ADD my.cnf /etc/mysql/my.cnf
ADD ddl.sql /docker-entrypoint-initdb.d/ddl.sql
ADD dml.sql /docker-entrypoint-initdb.d/dml.sql
 类似资料:
  • 我想将ssh服务添加到容器中。我可以软件包(在之后),但我不知道如何启动它。通常(不在此容器中),我们可以通过的常规命令启动服务。但我不知道如何在容器中做到这一点而不干扰和机制。 dockerfile附带了一个(请参阅此处的源代码),它非常希望有一行用于 我看过一些相关的SO文章,比如这些: null 但由于docker文件中的和的相互作用,它们在这里并不直接适用。

  • 我想做什么? 我想使用命令行插入图片到MariaDB数据库,使用LOAD_FILE功能。 发生了什么? 我总是得到一个NULL返回。 我不想要这样的解决方案:这是糟糕的风格,到目前为止我还没有看到过-尝试存储完整的路径!我想将此图片存储在这个数据库中,而不是路径中。 系统 > ArchLinux 4.7.2-1-ARCH 一张叫做“测试”的照片。jpg(817KB)位于,甚至在 这张图片属于用户和

  • 由于 MariaDB 版本较多,建议在官方页面上生成配置文件内容。 Debian/Ubuntu 等基于 apt 的系统 新建 /etc/apt/sources.list.d/MariaDB.list,填入工具生成的配置内容,并将其中的地址部分,例如: https://apt.mariadb.org/mariadb/repo 换为 https://mirrors.tuna.tsinghua.edu

  • 问题内容: 我有一个泊坞窗映像,我想找出它是从哪个映像创建的。当然有多层,但是我想找出最后一张图像(dockerfile中该图像的FROM语句)? 我尝试使用,但无法在其中找到此信息。 我尝试使用以下命令,但它给我一条错误消息 这是我收到的错误消息 问题答案: 您可以使用此答案中建议的方法:https : //stackoverflow.com/a/53841690/3691891 首先,拉: 获

  • 问题内容: 我们可以使用没有源映像(OS)的docker文件创建docker映像吗 我们不希望在所有应用程序docker映像中使用基本映像(centos或rhel)。我们想要将基本映像(centos或rhel)与应用程序映像分开,并在运行时将它们链接起来。可能吗? 当我 不使用 或构建docker映像时,docker抱怨:“提交前提供源映像” 我的docker文件如下所示: 问题答案: 您说过:“

  • 问题内容: 有什么方法可以手动下载Docker映像吗? 我的互联网连接速度非常慢,对我来说,最好获得图像的链接,然后以更高的互联网速度将其下载到其他位置, 如何获取由docker pull管理的映像的直接URL? 问题答案: 可能会得到,但让我提出另外两种建议! 如果可以通过快速连接连接到远程服务器,并且该服务器可以运行Docker,则可以在该服务器上,然后将映像(及其所有层和元数据)导出为tar