【发布时间】:2018-10-08 13:16:08
【问题描述】:
我有 2 个容器:一个 Redis 容器和一个用于 Golang 应用程序的容器。我的 Golang 应用程序正在尝试通过使用命令 cat ${FILE}| redis-cli --pipe -h ${HOST} 执行 bash 脚本来执行 Redis 批量插入 (https://redis.io/topics/mass-insert)。
但是,redis-cli 在 PATH 系统变量中找不到,它不是 Golang 应用程序服务中的内置 shell 命令。
因此,我得到一个exit status 127,这意味着找不到给定的命令。我想知道如何在 Golang 应用程序服务中不使用 redis-cli 命令执行 bash 脚本。
【问题讨论】:
-
需要更多信息。该命令是否需要从容器内运行?还是从 docker 主机服务器运行命令?这两个容器是否在同一个主机服务器上?
-
是的,redis-cli 命令需要在同一个容器中运行
-
是的,这两个容器在同一个主机服务器上(我的本地主机)
-
可以从主机服务器而不是从 golang 应用容器中运行命令吗?
-
这绝对可以,但我想知道后者是否可行。
标签: docker go redis docker-compose