2015-10-19 1 views
0

Я пытаюсь использовать новый AWS ecs-cli и не могу заставить его вытащить из частного докере-репо. У меня есть учетные данные докеры в ведро S3, но как бы я решил установить это в кли? Документация не совсем понятна. Я не хочу начинать разбираться в реальных случаях, так как это не очень чисто. Есть предположения?Проблема с AWS ecs-cli, чтобы вытащить из приватного докере-репо

ответ

0

Вы просто должны установить ECS_ENGINE_AUTH_TYPE и окружения ECS_ENGINE_AUTH_DATA переменные перед запуском агента ECS.

Мое кластерные узлы настроены с использованием облачной информации, и это блок ECSServerLaunchConfig, который настраивает экземпляр, который вытаскивает из частных репозиториев, устанавливая переменные в файле ecs.config. Я использую AWS ECS Optimized AMI.

"ECSServerLaunchConfig": { 
    "Type": "AWS::AutoScaling::LaunchConfiguration", 
    "Properties": { 
    "IamInstanceProfile" : { "Fn::GetAtt" : ["InstanceProfile", "Arn"] }, 
    "ImageId" : { "Ref" : "AgentAMI" }, 
    "InstanceType": "c4.large", 
    "SpotPrice": { "Ref": "SpotPrice" }, 
    "KeyName" : { "Fn::GetAtt" : ["KeyPair", "Name"] }, 
    "SecurityGroups": [ { "Ref": "ECSServerSecurityGroup" } ], 
    "BlockDeviceMappings" : [ 
     { 
     "DeviceName" : { "Ref" : "EbsDeviceName" }, 
     "Ebs" : { 
      "VolumeSize" : { "Ref" : "EbsDeviceSize" } 
     } 
     } 
    ], 
    "UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [ 
     "#!/bin/bash\n", 
     "mkfs -t ext4 /dev/xvdk\n", 
     "mkdir /data\n", 
     "mount /dev/xvdk /data\n", 
     "chmod -R 777 /data\n", 
     "yum install -y perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https perl-Digest-SHA\n", 
     "yum install -y wget\n", 
     "yum install -y unzip\n", 
     "cd /home/ec2-user\n", 
     "wget http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip\n", 
     "unzip CloudWatchMonitoringScripts-1.2.1.zip\n", 
     "echo \"*/1 * * * * /home/ec2-user/aws-scripts-mon/mon-put-instance-data.pl --mem-util --disk-space-util --disk-path=/ --disk-path=/data --auto-scaling --from-cron\" >> mycron\n", 
     "crontab mycron\n", 
     "echo ECS_CLUSTER=", { "Ref" : "ECSCluster" }, " >> /etc/ecs/ecs.config\n", 
     "echo ECS_ENGINE_AUTH_TYPE=dockercfg >> /etc/ecs/ecs.config\n", 
     "echo ECS_ENGINE_AUTH_DATA='{\"https://index.docker.io/v1/\":{\"auth\":\"", { "Ref" : "PrivateRegistryAuthCode" }, 
      "\",\"email\":\"", { "Ref" : "PrivateRegistryEmail" }, "\"}}' >> /etc/ecs/ecs.config\n", 
     "echo 'OPTIONS=\"--default-ulimit nofile=1024:4096 --mtu=1500\"' >> /etc/sysconfig/docker\n", 
     "service docker restart\n", 
     "start ecs" 
    ]]}} 
    } 
},