[英]MySQL Docker container - unable to import file
我有一個運行MariaDB的Docker容器,並且在鏡像的Dockerfile中,我已經將一個SQL文件復制到了容器中的某個位置:
FROM mariadb
RUN mkdir /adhoc_scripts
COPY bootup.sql /adhoc_scripts
一旦容器旋轉起來,我就可以在容器內輸入一個shell並確認sql文件確實存在於指定位置:
$ docker exec -it my_mariadb_container bash
root@6e3f4b9abe17:/# ls -lt /adhoc_scripts/
total 4
-rw-r--r-- 1 root root 1839 Apr 10 18:35 bootup.sql
但是,當我退出容器並嘗試調用以下命令時:
docker exec -it my_mariadb_container bash \
mysql mydb -u root -prootpass \
< /adhoc_scripts/bootup.sql
我收到此錯誤:
-bash: /adhoc_scripts/bootup.sql: No such file or directory
我究竟做錯了什么?
EDIT1:我也嘗試將/adhoc-scripts
的權限也更改為777,但這沒有幫助。
這是因為<
運算符對整個docker exec ...
命令而不是bash mysql ...
部分進行操作。
錯誤消息很明顯:您的bash(容器外部)正在嘗試解釋/adhoc_scripts/bootup.sql
文件。
要解決它,請嘗試以下操作:
docker exec -it my_mariadb_container bash -c "mysql mydb -u root -prootpass < /adhoc_scripts/bootup.sql"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.