6

TLDR: Возможно ли связать два контейнера с манифестом контейнера?Как связать контейнеры докеров с контейнером VM с манифестом?

Я пытаюсь подключить Guestbook Sample app from the Google Container Engine docs к container vm. У меня возникли проблемы с подключением двух контейнеров vms, чтобы веб-приложение могло получить доступ к службе redis.

Это работает, если я использую командную строку Docker на экземпляре:

запустить экземпляр и SSH в него:

gcloud compute instances create guestbook-vm --image container-vm --machine-type g1-small 
gcloud ssh guestbook-vm 

создать контейнеры:

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 

Я использую -link для подключения гостевой книги к контейнеру redis. Можно ли это сделать также с манифестом контейнера?

это моя команда запуска:

gcloud compute instances create guestbook-vm --image container-vm --machine-type g1-small --metadata-from-file google-container-manifest=containers.yaml 

EDIT: Решение от Alex использовать 127.0.0.1 работает отлично, так что это право containers.yaml:

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 

ответ

2

Eсть no link parameter available in the container manifest, так что, к сожалению, вы не можете этого сделать.

Однако, вы пробовали просто установить для переменной среды REDIS_MASTER_SERVICE_HOST значение 127.0.0.1? Я считаю, что это должно позволить контейнеру frontend разговаривать с контейнером redis через стандартный сетевой стек.

+0

Вы правы, localhost отлично работает! – Paul

Смежные вопросы