Încerc din răsputeri să-mi conectez instanța ECS la un registru privat în gitlab. Am încărcat un fișier .dockercfg într-o găleată din aceeași regiune cu mediul EB principal și l-am referit așa cum este descris în documente:
{
„AWSEBDockerrunVersion”: 2,
"autentificare": {
„găleată”: „xxxx”,
"key": ".dockercfg"
},
„volume”: [
{
"nume": "redis",
„gazdă”: {
„sourcePath”: „/var/app/volumes/redis”
}
}
],
„containerDefinitions”: [
{
"nume": "nucleu",
„imagine”: „registry.gitlab.com/newsletter3/newsletter:latest”,
"hostname": "nucleu",
„esențial”: adevărat,
„portMappings”: [
{
„hostPort”: 80,
„containerPort”: 8012
}
],
"linkuri": ["redis"],
„memorie”: 600
},
{
"nume": "redis",
"imagine": "redis:6.2-alpine",
"hostname": "redis",
„esențial”: adevărat,
„memorie”: 300,
„portMappings”: [
{
„hostPort”: 6379,
„containerPort”: 6379
}
],
„mountPoints”: [
{
"sourceVolume": "redis",
"containerPath": "/cache",
„readOnly”: fals
}
]
}
]
}
Mi-am creat fișierul .docker cfg creând un nou token de implementare și codificându-l cu base64.
echo âAWS:GYqZmZxxxxxxxxxxâ | tr -d â\nâ | baza64
Și fișierul rezultat arată astfel:
{
„registry.gitlab.com”: {
"auth": "xxxxNWQK"
}
}
De asemenea, am încercat un al doilea format cu un obiect „auths” care înglobează (modul în care docker stochează config.json
).
Indiferent ce aș încerca, continui să văd erori de genul acesta:
level=error time=2022-05-10T20:56:28Z msg="DockerGoClient: a eșuat
extrage imaginea registry.gitlab.com/xxxx/xxxx:
[CannotPullContainerError] Răspuns de eroare de la demon: Head
„https://registry.gitlab.com/v2/xxx/xxxx/manifests/latest”:
neautorizat: HTTP de bază: acces refuzat" module=docker_client.go
De asemenea, am căutat în documente orice referință despre elastic beanstalk care descarcă fișierul meu de autentificare din găleata s3, dar nu am reușit să găsesc nicio referință.
Nu sunt sigur dacă documentele sunt învechite și opțiunea de „autentificare” nu mai există.