mysql - 使用 Docker Mysql COPY 为数据库做种失败

标签 mysql docker docker-compose

使用 docker-compose 和构建文件,我无法将文件复制到 mysql 容器。这是 compose.yml:

version: '3'
services:

db:    
#image: mysql:5.7
build:
    context: .
    dockerfile: Dockerfile-mysql
environment:
   MYSQL_ROOT_PASSWORD: drupal
   MYSQL_DATABASE: drupal
   MYSQL_USER: drupal
   MYSQL_PASSWORD: drupal
#volumes:
#    - /var/lib/mysql
ports:
    - "3300:3306"    

然后是 Dockerfile-mysql:

FROM mysql:5.7
COPY ./drupal.sql /docker-entrypoint-initdb.d/ 

我没有看到任何错误,并且该文件不存在。容器启动,mysql 很好,所有这些,但是没有文件!有人可以指出我错过了什么吗?我假设 .sql 文件传输到该目录后,.sql 文件也会运行?

谢谢!

最佳答案

想通了。您必须首先运行 docker-compose build 才能让 docker 运行任何类型的 COPY 命令。如果我理解正确的话 docker-compose build 将创建容器,并且 docker-compose up 将启动所述容器。

关于mysql - 使用 Docker Mysql COPY 为数据库做种失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42170747/

相关文章:

mysql - 从 mysql 查询中排除 'near' 重复项

php - SQLSTATE[HY000] [1045] 用户 mimi_oboss 访问被拒绝

c# - 将datagridview保存到mysql

node.js - Docker MongoNetworkError : connection timed out when build Node JS App by docker

docker - Docker-将参数传递给Docker服务

mysql - 如何在codeigniter中从两个不同的表中选择具有相同列名的数据

docker - GoCD 中持续集成的性能度量

linux - Docker:Linux上的 "reset to factory defaults"在哪里?

docker - 如何在Docker容器中使用奇点?

postgresql - docker pull 还可以获取 postgres 依赖镜像吗?