У меня есть одноэкземплярная среда elasti c beanstalk, которая запускает образ docker, который размещен как частный образ на Dockerhub. Это прекрасно работает. Я пытаюсь создать новую среду с несколькими контейнерами, которая запускает одно и то же изображение (плюс еще одно, не включенное в мой пример кода здесь). В среде с несколькими контейнерами я не могу заставить elasti c beanstalk запустить мой образ docker, я получаю следующую ошибку:
ECS task stopped due to: Task failed to start. (img1_name: img2_name: CannotPullContainerError: Error response from daemon: pull access denied for user/repo, repository does not exist or may require 'docker login': denied: requested access to the resource is denied)
Вот dockerrun для моего одноэкземплярная среда:
{
"AWSEBDockerrunVersion": "1",
"Authentication": {
"Bucket": "my_bucket",
"Key": ".dockercfg"
},
"Image": {
"Name": "user/repo:tag",
"Update": "true"
},
"Ports": [
{
"ContainerPort": 5000,
"HostPort": 443
}
],
"Logging": "/var/log/nginx"
}
И вот файл .dockerfcg:
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "my_token"
}
}
}
Опять же, все работает нормально.
Мой файл dockerrun с несколькими экземплярами выглядит следующим образом:
{
"AWSEBDockerrunVersion": "2",
"authentication": {
"bucket": "my_bucket",
"key": ".dockercfg"
},
"containerDefinitions": [
{
"name": "img_name",
"image": "user/repo:tag",
"essential": true,
"memoryReservation": 128,
"portMappings": [
{
"hostPort": 80,
"containerPort": 5000
}
]
}
],
"Logging": "/var/log/nginx"
}
У меня есть s sh -ed в моем экземпляре elasti c -beanstalk и запустите следующее, чтобы проверить, может ли он получить доступ к .dockercfg из моего ведра s3: aws s3api get-object --bucket mybucket --key dockercfg dockercfg
Я также пробовал разные форматы для файла .dockercfg, включая ...
{
"https://index.docker.io/v1/": {
"auth": "zq212MzEXAMPLE7o6T25Dk0i",
"email": "email@example.com"
}
}
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "zq212MzEXAMPLE7o6T25Dk0i"
}
}
}
Я рву волосы из-за этого, я нашел несколько похожих тем здесь и на форумах AWS, но, похоже, ничего не решило мою проблему. Любая помощь очень ценится.