我有一个 shell 脚本,它试图启动我的 docker 容器,然后在其中运行 consul kv import 命令,但是当我运行它时出现命令no such file or directory
错误。docker exec consul kv import @filepath
请注意,这之前没有发生过,所以我不确定是什么导致了错误,因为我在上次成功运行和现在之间没有对代码/配置进行任何更改。另外,我在 Windows 上运行 docker。
我已经尝试重新启动 docker,确保文件存在并且具有完全权限(注意:我可以在命令行中发现并打开文件很好),并且我尝试将 @consul-data/localhost/sbc.json 替换为我计算机上的实际文件路径。该命令每次都失败并出现相同的错误。
这是 docker-compose.consul.yml 中的 consul 服务配置:
consul:
image: consul
ports:
- "8500:8500"
volumes:
- $CONSUL_DATA_PATH:/consul-data
注意: $CONSUL_DATA_PATH 在 bash 脚本中导出,并且在回显时会在我的计算机上生成 sbc.json 的正确文件位置
这是我的 bash 脚本中的调用代码:
docker exec dev-env_consul_1 consul kv import @consul-data/localhost/sbc.json
最后,确切的错误是:
Error! Failed to read file: open consul-data/localhost/sbc.json: no such file or directory
docker 容器之前启动没有问题,所以我不确定为什么不再发生这种情况。Docker 是最新的,我的 C 盘是共享的。如果您在 consul kv、windows 上的 docker 或与此问题相关的任何其他问题上看到类似问题,请包括您所知道的,以便我可以根据此问题进行调查