我有一个mysql docker容器,它已启动并运行。我可以进入它并看到mysql提示符。我不想在其上安装外部存储。每次我启动这个容器时,我都希望从我的文件系统执行一个test.sql脚本来创建数据库并执行一些此类操作。当我运行当前工作目录中存在的脚本时,它会抱怨。我知道这是微不足道的,但我无法解决这个问题。
/ microservices / mysqlcontainer] docker exec 3a21e5e3669d / bin / sh -c'mysql -u root -ppwd< ./ test.sql' / bin / sh:./ test.sql:没有这样的文件或目录
答案 0 :(得分:3)
由于您的脚本位于容器之外,因此无需捕获shell输入重定向。您应该能够运行以下内容:
docker exec -i 3a21e5e3669d mysql -u root -ppwd <./test.sql