2016-06-03 11 views
0

Während ich Kanban und Redis auf meinem Server installiert habe, welches Betriebssystem ist CentOS 7, bekomme ich ein Problem, das ich nicht verstehen kann. Das möchte ich tun: Ich möchte drei Docker Container haben -> gitlab -> redis -> kanban. Wenn ich diesen Container ohne docker-compose.yml starte, funktioniert es perfekt. Aber ich möchte diese Container aus der Yml-Datei starten. Also schrieb ich diese Datei:Docker-Compose Fehler mit Kanban und Redis

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" 

Aber wenn ich diese Datei mit Start bin Docker-komponieren, also ich erhalte diese Störung:

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 und Redis beginnt normalerweise. Hast du eine Idee, das zu lösen?

Danke!

+0

Der Fehler macht Sinn, da Kanban_redis Container nicht up ist, erhalten Sie irgendwelche Errros für Kanban_redis beim Start? – Shibashis

Antwort

0

Ich vermute, dass Sie einen Race-Zustand haben, in dem Ihr kanban_redis Container oben ist, aber redis noch nicht gestartet hat.

Sie müssen einen benutzerdefinierten Lauf command für Ihren kanban Container erstellen. In diesem Befehl sollten Sie Schleife, während der tcp:\\kanban_redis:6379 geschlossen ist. Sobald geöffnet, führen Sie /kanban server. (see this post on checking tcp ports)

Leider gibt es derzeit keine andere Möglichkeit.

0

Versuchen Sie es_on_on. Vielleicht hilft es

kanban: 
    depends_on: 
    - kanban_redis 
+0

Danke für die Idee, aber das löst dieses Problem nicht. –