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 csi_redis Cannot start service redis: Ports are not available: listen tcp 127.0.0.1:6379: bind: address already in use

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

我已经用 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.```

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

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

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

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

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

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