如何使用清单 link docker Container VM 上的容器?
How to link docker containers on Container VM with an manifest?
TLDR:是否可以 link 两个带有容器清单的容器?
我正在尝试移植 Guestbook Sample app from the Google Container Engine docs to a container vm。我在连接两个容器虚拟机时遇到问题,因此网络应用程序可以访问 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
编辑: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
有no link parameter available in the container manifest,很遗憾你不能那样做。
但是,您是否尝试过将 REDIS_MASTER_SERVICE_HOST 环境变量设置为 127.0.0.1?我相信应该允许前端容器通过标准网络堆栈与 redis 容器通信。
TLDR:是否可以 link 两个带有容器清单的容器?
我正在尝试移植 Guestbook Sample app from the Google Container Engine docs to a container vm。我在连接两个容器虚拟机时遇到问题,因此网络应用程序可以访问 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
编辑: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
有no link parameter available in the container manifest,很遗憾你不能那样做。
但是,您是否尝试过将 REDIS_MASTER_SERVICE_HOST 环境变量设置为 127.0.0.1?我相信应该允许前端容器通过标准网络堆栈与 redis 容器通信。