docker exec
对我不起作用。如果我使用docker exec -it mymachine bash
连接到正在运行的容器并运行sh -c 'mysql -u root < /tmp/schema.sql'
,则可以正常运行。
如果我只是运行docker exec mymachine sh -c 'mysql -u root < /tmp/schema.sql'
,它不会给出任何错误,但它没有做任何事情。如果我运行docker exec mymachine sh -c 'mysql -u root < /tmp/i_dont_exist.sql'
,也不会给我任何错误。
我该如何解决这个问题?
答案 0 :(得分:1)
试试这个 -
docker exec mymachine "sh -c 'mysql -u root < /tmp/schema.sql'"
如果不是那么'&lt;'操作员将被主机中的shell拾取而不是容器。
答案 1 :(得分:0)
我怀疑<
运营商正试图从您的主机而不是您的容器中抓取。尝试将整个命令括在引号中。