首页 文章

Mariadb图像的Dockerfile

提问于
浏览
0

在创建docker镜像时,我想添加数据库和导入架构 . 当我尝试时,我得到以下错误 .

160829 22:32:44 mysqld_safe登录到'/var/lib/mysql/2da0903ff372.err' . 160829 22:32:44 mysqld_safe用/ var / lib / mysql中的数据库启动mysqld守护进程160829 22:32:47来自pid文件的mysqld_safe mysqld /var/run/mysqld/mysqld.pid ende d ERROR 2002(HY000):可以' t通过socket'/ 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 </tmp/ddl.sql&& mysql -u root portal </tmp/dml.sql"返回非 - 零码:1

下面是我用来创建图像的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 回答

  • 1

    简单地说,我需要在/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
    

相关问题