如何将Container VM上的docker容器与清单链接起来?

TLDR:是否可以将两个容器链接到容器清单?

我试图将Google Container Engine文档中的留言示例应用程序移植到容器虚拟机 。 我有麻烦连接两个容器虚拟机,所以Web应用程序可以访问的Redis服务。

它工作,如果我在实例上使用docker命令行:

启动实例和SSH到它:

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

创build容器:

 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将guestbook连接到redis容器。 这也可以通过容器清单来完成吗?

这是我的开始命令:

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

编辑:解决scheme从亚历克斯使用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 

容器清单中没有可用的链接参数 ,所以不幸的是你不能这样做。

但是,您是否尝试将REDIS_MASTER_SERVICE_HOST环境variables设置为127.0.0.1? 我相信应该允许前端容器通过标准networking栈与redis容器进行通信。