簡體   English   中英

如何使用清單將容器VM上的Docker容器鏈接?

[英]How to link docker containers on Container VM with an manifest?

TLDR:是否可以將兩個容器與容器清單鏈接?

我正在嘗試將Guestbook Sample應用程序從Google Container Engine文檔移植到容器vm 我在連接兩個容器虛擬機時遇到麻煩,因此Web應用程序可以訪問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

編輯:從亞歷克斯使用127.0.0.1的解決方案效果很好,所以這是正確的container.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環境變量設置為127.0.0.1? 我認為應該允許前端容器通過標准網絡堆棧與redis容器進行通信。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM