2017-08-14 140 views
0

我的問題

我已經成功地部署了遊牧民族的工作與AWS幾十Redis的Docker容器,使用從Dockerhub默認Redis的圖像拉碼頭工人的形象。遊牧:從ECR與AWS訪問和祕密密鑰

我稍微改變由nomad init創建更改運行容器的數量默認的配置文件,一切都按預期

的問題是,我想運行的實際圖像是ECR,其中需要AWS許可(訪問和密鑰),我不知道如何發送這些。

代碼

job "example" { 
    datacenters = ["dc1"] 
    type = "service" 
    update { 
    max_parallel = 1 
    min_healthy_time = "10s" 
    healthy_deadline = "3m" 
    auto_revert = false  
    canary = 0 
    }  
    group "cache" { 
    count = 30  
    restart { 
     attempts = 10 
     interval = "5m"  
     delay = "25s"  
     mode = "delay" 
    }  
    ephemeral_disk {  
     size = 300 
    }  
    task "redis" { 
     driver = "docker"  
     config { 

    # My problem here 

    image = "https://-whatever-.dkr.ecr.us-east-1.amazonaws.com/-whatever-" 
     port_map { 
      db = 6379 
     } 
     } 
     resources { 
     network { 
      mbits = 10 
      port "db" {} 
     } 
     } 
     service { 
     name = "global-redis-check" 
     tags = ["global", "cache"] 
     port = "db" 
     check { 
      name  = "alive" 
      type  = "tcp" 
      interval = "10s" 
      timeout = "2s" 
     } 
     } 
    } 
    } 
} 

我有什麼企圖

  • 廣泛的谷歌搜索
  • 閱讀the manual
  • 在它運行遊牧文件的機器放置aws憑證(使用aws configure

我的問題

如何將nomad配置爲使用AWS憑據從AWS ECR中拖動Docker容器?

回答

1

我不使用ECR,但如果它的行爲像一個普通的碼頭註冊表,這是我爲我的註冊表,它的工作原理。假設前面的句子,它應該也適合你:

config { 
       image = "registry.service.consul:5000/MYDOCKERIMAGENAME:latest" 
       auth { 
        username = "MYMAGICUSER" 
        password = "MYMAGICPASSWORD" 
       } 
      } 
相關問題