我想将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时,它要求登录。