Docker-使用看板和 Redis 编写错误

Docker-Compose error with Kanban and Redis

当我在我的服务器上安装看板和 Redis 时,OS 是 CentOS 7,我遇到了一些问题,我无法弄清楚。这就是我想要做的:我想要三个 docker 容器 -> gitlab -> redis -> 看板。当我启动这个没有 docker-compose.yml 的容器时,它工作得很好。但我想从 yml 文件启动这个容器。所以我写了这个文件:

version: '2'

services:
  gitlab:
    restart: always
    image: 'gitlab/gitlab-ce:latest'
    ports:
    - "80:80"
    - "443:443"
    - "10022:22"
    volumes:
    - /srv/gitlab/config:/etc/gitlab
    - /srv/gitlab/logs:/var/log/gitlab
    - /srv/gitlab/data:/var/opt/gitlab

  kanban_redis:
    restart: always
    image: 'leanlabs/redis:lastest'
    ports:
    - "6379:6379"

  kanban:
    restart: always
    image: "leanlabs/kanban:latest"
    ports:
    - "8080:80"
    links:
    - kanban_redis
    environment:
    - KANBAN_SERVER_HOSTNAME="http://localhost"
    - KANBAN_SERVER_LISTEN="0.0.0.0:80"
    - KANBAN_GITLAB_URL="http://mygitlab.com"
    - KANBAN_GITLAB_CLIENT="Application ID"
    - KANBAN_GITLAB_SECRET="Secret"
    - KANBAN_REDIS_ADDR="kanban_redis:6379"

但是当我用 docker-compose up 启动这个文件时,我得到了这个错误:

kanban_1 | 2016/06/03 06:12:47 Error connection to redis dial tcp: unknown port tcp/6379" kanban_1 exited with code 1

Gitlab和Redis正常启动。您有解决此问题的想法吗?

谢谢!

我怀疑您遇到了 kanban_redis 容器已启动但尚未启动的竞争条件 redis

您需要做的是为您的 kanban 容器创建自定义 运行 command。在此命令中,您应该在 tcp:\kanban_redis:6379 关闭时循环。一旦打开运行/kanban server。 (see this post on checking tcp ports)

遗憾的是,目前没有其他解决方法。

尝试depends_on。也许会有帮助

kanban:
  depends_on:
  - kanban_redis