我可能错过了显而易见的事情,但我现在已经摸不着头脑了几个小时。
我的docker-compose.yml
version: '3'
services:
db:
image: 'bitnami/mariadb:latest'
container_name: mariadb
restart: always
ports:
- '3306:3306'
volumes:
- ./mysql:/bitnami
- ./backup:/docker-entrypoint-initdb.d
networks:
- default
environment:
- MARIADB_ROOT_PASSWORD=root
- MARIADB_DATABASE=mydb
工作得很好。启动也没问题。一旦它运行我就
docker exec -i mariadb mysql -uroot -proot mydb < backup/all.sql
没有错误,没有,但它没有进行导入。当我走很长的路时:
docker exec -it mariadb bash
mysql -uroot -proot mydb < /docker-entrypoint-initdb.d/all.sql
它按预期工作。我没看到什么?
答案 0 :(得分:0)
我检查了你的类似命令,到目前为止我会说,它应该有效。下面是我的工作样本:
> echo select now() | docker exec -i mariadb mysql -uroot -proot mydb
now()
2018-04-20 21:32:38
> echo create table foo (x integer) | docker exec -i mariadb mysql -uroot -proot mydb
> echo describe foo | docker exec -i mariadb mysql -uroot -proot mydb
Field Type Null Key Default Extra
x int(11) YES NULL
所以我会说你的命令是正确的。 也许问题出在backup / all.sql中?