今天执行如下指令时遇到了报错:
1 2 3 4 5 6
| ➜ setup git:(master) ✗ docker cp ./data/ moegirl-db:/tmp/ Successfully copied 542MB to moegirl-db:/tmp/ ➜ setup git:(master) ✗ docker exec -it moegirl-db ls /tmp/data enmoegirl.sql wikidata.sql ➜ setup git:(master) ✗ docker exec -it moegirl-db mysql -u root -D wikidata < /tmp/data/wikidata.sql zsh: no such file or directory: /tmp/data/wikidata.sql
|
我把文件复制到了容器内,文件也确实在容器内,但是执行导入指令时却报错找不到文件。
您猜怎么着?
这是因为我的系统 shell 是 zsh,而 zsh 中的 <
被解释为重定向……
修复方法是明确使用 bash:
1 2 3 4 5
| docker cp ./data/ moegirl-db:/tmp/
bash -c "docker exec -it moegirl-db mysql -u root -D enmoegirl < /tmp/data/enmoegirl.sql" bash -c "docker exec -it moegirl-db mysql -u root -D wikidata < /tmp/data/wikidata.sql" docker exec -it moegirl-db rm -rf /tmp/data
|
这个蠢问题困扰了我一个小时,啊米诺斯!