0

我有一个 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 或与此问题相关的任何其他问题上看到类似问题,请包括您所知道的,以便我可以根据此问题进行调查

4

0 回答 0