TLDR: Ist es möglich, zwei Container mit dem Containermanifest zu verknüpfen?Wie Verknüpfen von Docker-Containern auf Container-VM mit einem Manifest?
Ich versuche, die Guestbook Sample app from the Google Container Engine docs zu einem container vm zu portieren. Ich habe Probleme, die beiden Container-VMs so zu verbinden, dass die Web-App auf den Redis-Dienst zugreifen kann.
Es funktioniert, wenn ich die Docker Kommandozeile auf der Instanz mit:
die Instanz und ssh hinein starten:
gcloud compute instances create guestbook-vm --image container-vm --machine-type g1-small
gcloud ssh guestbook-vm
die Container erstellen:
sudo docker run -d --name redis -p 6379:6379 dockerfile/redis
sudo docker run -d --name guestbook -p 3000:80 --link redis:redis -e "REDIS_MASTER_SERVICE_HOST=redis" -e "REDIS_MASTER_SERVICE_PORT=6379" brendanburns/php-redis
Ich benutze den --link um das Gästebuch mit dem Redis Container zu verbinden. Kann dies auch mit dem Containermanifest erreicht werden?
das ist mein Startbefehl:
gcloud compute instances create guestbook-vm --image container-vm --machine-type g1-small --metadata-from-file google-container-manifest=containers.yaml
EDIT: Lösung von Alex 127.0.0.1 zu verwenden, funktioniert gut, so dass die rechte containers.yaml ist:
version: v1beta2
containers:
- name: redis
image: dockerfile/redis
ports:
- name: redis-server
containerPort: 6379
hostPort: 6379
- name: guestbook
image: brendanburns/php-redis
ports:
- name: http-server
containerPort: 80
hostPort: 3000
env:
- name: REDIS_MASTER_SERVICE_HOST
value: 127.0.0.1
- name: REDIS_MASTER_SERVICE_PORT
value: 6379
Sie haben Recht, localhost funktioniert gut! – Paul