docker - redis-cli 不能用作 docker 命令
问题描述
我正在运行以下 redis 容器:
version: '3'
services:
redis:
image: 'bitnami/redis:latest'
environment:
- ALLOW_EMPTY_PASSWORD=yes
我正在尝试通过连接到它所在的网络来通过我的另一个应用程序访问它:
version: '3'
services:
nginx:
build: .
#command: tail -f /dev/null
ports:
- "8080:80"
networks:
default:
external:
name: redis
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get full-upgrade -y
RUN apt-get install redis-server -y
EXPOSE 80
CMD redis-cli -h app_redis_1 ping
每当我在 Dockerfile 中使用命令 redis-cli -h app_redis_1 ping 作为我的 CMD 时,我都无法连接到我的 redis 服务器。但是,如果我在正在运行的容器中取消注释 tail -f /dev/null 和 exec 并自己运行此命令,我可以毫无问题地连接。我该如何解决这个问题?
解决方案
通过将命令移动到 yml 文件来解决
推荐阅读
- javascript - 联合类型中的 Typescript null 不起作用
- rust - 切片中的不可变引用是如何更新的?为什么它不改变引用变量的值?
- javascript - 单击内部后更改画布框的颜色
- java - 如何从密钥颤振中生成 JWT?
- javascript - React-Native Google 方向 API 不起作用
- java - 如何使用 Java Discord API 将音频发送到 Discord?
- python - 无法显示从 sqlite 到 tkinter 条目小部件的查询数据
- c# - NET C# - 如何通过 dynamodb 中的映射值在带有条件表达式的列表中设置嵌套映射?
- node.js - nodejs firebase firestore - 加载用户代码时函数失败。错误消息:错误:请检查您的功能日志?
- javascript - 导出默认功能反应原生