根据mysql映像在我的Dockerfile中运行schema.sql和seed.sql

时间:2018-08-25 23:12:15

标签: docker docker-compose

我想将docker-compose更改为,而不是从iamge运行mysql,而是为mysql创建自己的Dockerfile,以便在mysql容器加载时可以运行schema.sql和seed.sql。

您可以看到我在mysql部分注释掉了“ image”并添加了"build:./mysql"属性。

version: "2"

services:
  web:
    build: "."
    env_file:
      - ".env"
    ports:
      - "80:80"
      - "443:443"
      - "3000:3000"

  mysql:
    build: './mysql'
    env_file:
      - ".env"
    #image: "mysql:5.7"
    volumes:
      - "mysql:/var/lib/mysql"

volumes:
  mysql: {}

我想创建一个与该镜像一样的Dockerfile:

mysql/5.7

可以在此处找到图片:https://github.com/mysql/mysql-docker/tree/mysql-server/5.7

我想在图像加载时运行2个脚本:

schema.sql

seed.sql

到目前为止,我已经尝试过:

/ mysql / Dockerfile

FROM mysql/5.7

当我运行docker-compose up --build

我收到此错误:

Building mysql
Step 1/1 : FROM mysql/5.7
ERROR: Service 'mysql' failed to build: pull access denied for mysql/5.7, repository does not exist or may require 'docker login'

如何运行schema.sql和seed.sql命令? 我真的需要登录以获得该图像吗?当我只使用image属性时,它可以工作,但是当我为mysql创建一个单独的Dockerfile时,它要求登录。

0 个答案:

没有答案