【问题标题】:ERROR: for csi_redis Cannot start service redis: Ports are not available: listen tcp 127.0.0.1:6379: bind: address already in use错误:对于 csi_redis 无法启动服务 redis:端口不可用:监听 tcp 127.0.0.1:6379:绑定:地址已在使用中
【发布时间】:2020-07-31 13:07:49
【问题描述】:

我正在尝试安装一个运行的项目: PHP, Laravel 框架, Postgres 数据库, NPM/节点

我已经用 brew 安装了 postgresql 和 redis。 当我到达docker-compose up -d 时,我在下面收到此错误:(没有其他东西正在运行..我可以让它在另一台计算机上工作,但这个不想玩得很好,一切都与我相似在这里查找还没有工作。)

Starting csi_redis ... error

ERROR: for csi_redis  Cannot start service redis: Ports are not available: listen tcp 127.0.0.1:6379: bind: address already in use

ERROR: for redis  Cannot start service redis: Ports are not available: listen tcp 127.0.0.1:6379: bind: address already in use
ERROR: Encountered errors while bringing up the project.```

【问题讨论】:

  • 你能分享更多细节吗?另外,这到底跟 Composer 有关系吗?
  • 另外,如果你已经在使用 Docker,为什么不在 Docker 容器中运行 PostgreSQL 和 Redis?

标签: laravel docker redis composer-php homebrew


【解决方案1】:

当您使用 Homebrew 安装 Redis 时,它会侦听主机上的 6379 端口。如果您的 docker-compose.yml 文件有类似

的部分
version: '3'
services:
  redis:
    image: redis
    ports:
      - '127.0.0.1:6379:6379'

尝试侦听主机上的端口 6379,这会产生您所看到的错误。

您的项目可能不需要两个 Redis,因此最简单的答案可能是brew uninstall redis,或者至少是brew services stop redis。您可以像使用 Brew Redis 一样与容器化 Redis 交互。

如果您需要主机 Redis 进行本地开发,但需要 Docker Redis 来运行您的项目,您可以选择不同的端口(或者,可能,完全删除 ports:

ports:
  - '6380:6379' # keep the second port number the same

【讨论】:

    猜你喜欢
    • 2020-01-18
    • 1970-01-01
    • 2014-04-27
    • 2019-02-19
    • 1970-01-01
    • 2021-12-31
    • 2019-10-06
    • 1970-01-01
    相关资源
    最近更新 更多