ฉันพยายามอย่างเต็มที่เพื่อเชื่อมต่ออินสแตนซ์ ECS กับรีจิสตรีส่วนตัวใน gitlab ฉันได้อัปโหลดไฟล์ .dockercfg ไปยังที่ฝากข้อมูลในภูมิภาคเดียวกับสภาพแวดล้อม EB หลักและอ้างอิงตามที่อธิบายไว้ในเอกสาร:
{
"AWSEBDockerrunVersion": 2,
"การรับรองความถูกต้อง": {
"ถัง": "xxxx",
"คีย์": ".dockercfg"
},
"วอลุ่ม": [
{
"ชื่อ": "เรดิส",
"เจ้าภาพ": {
"sourcePath": "/var/app/volumes/redis"
}
}
]
"นิยามคอนเทนเนอร์": [
{
"ชื่อ": "หลัก",
"ภาพ": "registry.gitlab.com/newsletter3/newsletter:latest",
"ชื่อโฮสต์": "หลัก",
"จำเป็น": จริง
"การแมปพอร์ต": [
{
"โฮสต์พอร์ต": 80,
"คอนเทนเนอร์พอร์ต": 8012
}
]
"ลิงค์": ["redis"],
"หน่วยความจำ": 600
},
{
"ชื่อ": "เรดิส",
"ภาพ": "redis:6.2-อัลไพน์",
"ชื่อโฮสต์": "redis",
"จำเป็น": จริง
"หน่วยความจำ": 300,
"การแมปพอร์ต": [
{
"โฮสต์พอร์ต": 6379,
"พอร์ตคอนเทนเนอร์": 6379
}
]
"จุดเชื่อมต่อ": [
{
"sourceVolume": "เรดิส",
"containerPath": "/ แคช",
"อ่านอย่างเดียว": เท็จ
}
]
}
]
}
ฉันได้สร้างไฟล์ .docker cfg ของฉันโดยสร้างโทเค็นการปรับใช้ใหม่และเข้ารหัสด้วย base64
echo âAWS:GYqZmZxxxxxxxxxxâ | tr -d â\nâ | ฐาน 64
และไฟล์ผลลัพธ์มีลักษณะดังนี้:
{
"registry.gitlab.com": {
"รับรองความถูกต้อง": "xxxxNWQK"
}
}
ฉันได้ลองรูปแบบที่สองด้วยวัตถุ "auths" ที่เข้ารหัส (วิธีที่นักเทียบท่าจัดเก็บ config.json
).
ไม่ว่าฉันจะพยายามอย่างไร ฉันก็ยังพบข้อผิดพลาดเช่นนี้:
level=error time=2022-05-10T20:56:28Z msg="DockerGoClient: ล้มเหลวในการ
ดึงภาพ register.gitlab.com/xxxx/xxxx:
[CannotPullContainerError] การตอบสนองข้อผิดพลาดจาก daemon: Head
"https://registry.gitlab.com/v2/xxx/xxxx/manifests/latest":
ไม่ได้รับอนุญาต: HTTP Basic: การเข้าถึงถูกปฏิเสธ" module=docker_client.go
ฉันยังค้นหาเอกสารสำหรับการอ้างอิงของ elastic beanstalk ที่ดาวน์โหลดไฟล์การตรวจสอบสิทธิ์ของฉันจากบัคเก็ต s3 แต่ไม่พบข้อมูลอ้างอิงใดๆ
ฉันไม่แน่ใจว่าเอกสารนั้นล้าสมัยหรือไม่ และไม่มีตัวเลือก "การรับรองความถูกต้อง" อีกต่อไป