Mariadb 图像的 Dockerfile
Dockerfile for Mariadb image
在创建 docker 图像时,我想添加一个数据库并导入架构。当我尝试时,出现以下错误。
160829 22:32:44 mysqld_safe Logging to
'/var/lib/mysql/2da0903ff372.err'. 160829 22:32:44 mysqld_safe
Starting mysqld daemon with databases from /var/lib/ mysql 160829
22:32:47 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid
ende d ERROR 2002 (HY000): Can't connect to local MySQL server through
socket '/var/run /mysqld/mysqld.sock' (2 "No such file or directory")
The command '/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' returned
a non-zero code: 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`
请指教我哪里做错了?
简单地说,我需要在 /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
在创建 docker 图像时,我想添加一个数据库并导入架构。当我尝试时,出现以下错误。
160829 22:32:44 mysqld_safe Logging to '/var/lib/mysql/2da0903ff372.err'. 160829 22:32:44 mysqld_safe Starting mysqld daemon with databases from /var/lib/ mysql 160829 22:32:47 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ende d ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run /mysqld/mysqld.sock' (2 "No such file or directory") The command '/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' returned a non-zero code: 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`
请指教我哪里做错了?
简单地说,我需要在 /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