【发布时间】:2018-06-20 12:32:24
【问题描述】:
我基于来自 Docker Hub 的 MySQL 官方镜像创建了一个 docker 容器。它工作正常,但我在数据库导入方面遇到了一些麻烦。
我的带有 SQL 指令的文件已经存储在我的容器的文件夹 /docker-entrypoint-initdb.d 中,但它不起作用!我已将我的 sql-import.sql 复制到 /var/lib/docker/volumes/mysql-dump/_data,但是当我调用“SHOW DATABASES;”时,我只能看到我的数据库的名称在我的容器内。当我调用“SHOW TABLES FROM myDB;”时没有可用的表。如何导入 MySQL 数据库的内容?
这是我的 Dockerfile:
FROM mysql:5.7
ADD ./init-scripts/*.sql /docker-entrypoint-initdb.d/
ADD ./config/my.cnf /root/
RUN cd /root/ && \
chmod 0600 my.cnf && \
mv my.cnf .my.cnf
ENV MYSQL_DATABASE=regex
ENV MYSQL_ROOT_PASSWORD=mypassword
EXPOSE 3306
【问题讨论】:
-
重要提示:我使用以下命令启动容器: docker run -d --name mysql --rm -p 3306:3306 -v mysql-dump:/docker-entrypoint-initdb.d :ro -v 数据存储:/var/lib/mysql:rw christian/mysql-test:1.0