TLDR: Có thể liên kết hai vùng chứa với tệp kê khai vùng chứa không?Làm cách nào để liên kết các vùng chứa docker trên Container VM với một tệp kê khai?
Tôi đang cố gắng chuyển Guestbook Sample app from the Google Container Engine docs thành container vm. Tôi gặp khó khăn khi kết nối hai vms container để ứng dụng web có thể truy cập dịch vụ redis.
Nó hoạt động, nếu tôi đang sử dụng dòng lệnh Docker trên dụ:
bắt đầu dụ và ssh vào nó:
gcloud compute instances create guestbook-vm --image container-vm --machine-type g1-small
gcloud ssh guestbook-vm
tạo container:
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
Tôi đang sử dụng liên kết - để kết nối sổ lưu bút với vùng chứa redis. Điều này cũng có thể được thực hiện với tệp kê khai vùng chứa không?
đây là lệnh bắt đầu của tôi:
gcloud compute instances create guestbook-vm --image container-vm --machine-type g1-small --metadata-from-file google-container-manifest=containers.yaml
EDIT: Giải pháp từ Alex sử dụng 127.0.0.1 hoạt động tốt, vì vậy đó là containers.yaml phải:
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
Bạn nói đúng, localhost hoạt động tốt! – Paul