如何使用清单链接Container VM上的docker容器?

前端之家收集整理的这篇文章主要介绍了如何使用清单链接Container VM上的docker容器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

我正在尝试将Guestbook Sample app from the Google Container Engine docs移植到container vm.我在连接两个容器vms时遇到麻烦,因此Web应用程序可以访问redis服务.

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

启动实例并将ssh引入其中:

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

创建容器:

  1. sudo docker run -d --name redis -p 6379:6379 dockerfile/redis
  2. 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容器.这也可以用容器清单完成吗?

这是我的开始命令:

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

编辑:Alex的解决方案使用127.0.0.1工作正常,所以这是正确的containers.yaml:

  1. version: v1beta2
  2. containers:
  3. - name: redis
  4. image: dockerfile/redis
  5. ports:
  6. - name: redis-server
  7. containerPort: 6379
  8. hostPort: 6379
  9. - name: guestbook
  10. image: brendanburns/PHP-redis
  11. ports:
  12. - name: http-server
  13. containerPort: 80
  14. hostPort: 3000
  15. env:
  16. - name: REDIS_MASTER_SERVICE_HOST
  17. value: 127.0.0.1
  18. - name: REDIS_MASTER_SERVICE_PORT
  19. value: 6379
最佳答案
no link parameter available in the container manifest,所以不幸的是你不能这样做.

但是,您是否尝试过将REDIS_MASTER_SERVICE_HOST环境变量设置为127.0.0.1?我相信应该允许前端容器通过标准网络堆栈与redis容器通信.

猜你在找的Docker相关文章