0

当我在我的服务器(操作系统是 CentOS 7)上安装看板和 Redis 时,我遇到了一些问题,我无法弄清楚。这就是我想要做的:我想要三个 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 启动这个文件时,我得到了这个错误:

看板_1 | 2016/06/03 06:12:47 与 redis 拨号 tcp 的连接错误:未知端口 tcp/6379" kanban_1 以代码 1 退出

Gitlab 和 Redis 正常启动。你有解决这个问题的想法吗?

谢谢!

4

2 回答 2

0

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

您需要做的是command为您的kanban容器创建自定义运行。tcp:\\kanban_redis:6379在此命令中,您应该在关闭时循环。一旦打开运行/kanban server。(请参阅这篇关于检查 tcp 端口的帖子

不幸的是,目前没有其他方法可以解决这个问题。

于 2016-06-03T14:48:01.380 回答
0

试试depends_on。也许会有所帮助

kanban:
  depends_on:
  - kanban_redis
于 2016-06-03T14:51:07.563 回答