TLDR: 2 つのコンテナーをコンテナー マニフェストにリンクすることは可能ですか?
Guestbook Sample アプリを Google Container Engine ドキュメントからコンテナ vmに移植しようとしています。Web アプリが redis サービスにアクセスできるように、2 つのコンテナー VM を接続するのに問題があります。
インスタンスで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
編集: 127.0.0.1 を使用する Alex のソリューションは正常に動作するため、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