Crescendo Lab เอกสาร
ไทย
สมัครใช้งาน

ข้อกำหนดการรันคอนเทนเนอร์

กฎที่อิมเมจของแอปคอนเทนเนอร์ต้องทำตาม ส่วนที่แพลตฟอร์มปรับได้จะปรับให้ และแสดงประกาศไว้ในหน้าเวอร์ชัน

อัปเดตล่าสุด
ดู Markdown เปิดใน Claude เปิดใน ChatGPT

กฎ#

รายการข้อกำหนดถ้าไม่เป็นไปตามข้อกำหนด
คำสั่งเริ่มต้นต้องมี CMD หรือ ENTRYPOINTเวอร์ชันถูกปฏิเสธ
พอร์ตให้บริการ HTTP ที่ $PORTเลือกตามลำดับ การตั้งค่า → EXPOSE → 8080 ดูการตั้งค่าแอป
แพลตฟอร์มlinux/amd64การพุชอิมเมจแพลตฟอร์มอื่นถูกปฏิเสธ
ผู้ใช้แนะนำให้ตั้ง USER ที่ไม่ใช่ rootถ้าเป็น root หรือไม่ได้ตั้ง จะรันด้วย uid 10001 กลุ่ม 0 ส่วน USER ที่ไม่มีในอิมเมจจะถูกปฏิเสธ
ระบบไฟล์อ่านอย่างเดียว ยกเว้น /tmpการเขียนที่อื่นจะล้มเหลว
ข้อมูลรับรองคลาวด์แพลตฟอร์มไม่ได้ให้ใช้ความลับของแอปเพื่อเชื่อมต่อบริการภายนอก

เมื่ออิมเมจรันด้วย uid 10001 ไฟล์ที่อิมเมจอ่านต้องให้กลุ่ม 0 อ่านได้

ประกาศ#

สิ่งที่แพลตฟอร์มปรับจะแสดงเป็นประกาศในหน้าเวอร์ชันและแท็บ ตรวจสอบ ของอิมเมจ เครื่องมือ AI อ่านรหัสเดียวกันได้จากสถานะการดีพลอย

รหัสความหมายสิ่งที่ต้องทำ
imageUserForcedอิมเมจรันด้วย root จึงเปลี่ยนไปรันด้วย uid 10001ไม่ต้องทำอะไร ถ้าต้องการให้ประกาศหายไป ให้ตั้ง USER ที่ไม่ใช่ root ใน Dockerfile
imagePortFromExposeแอปรอรับที่พอร์ตเดียวที่อิมเมจ EXPOSEไม่ต้องทำอะไร
imagePortsAmbiguousอิมเมจ EXPOSE หลายพอร์ตและไม่มี 8080 จึงรันที่ 8080 ซึ่งมักไม่ใช่พอร์ตที่เซิร์ฟเวอร์รอรับเลือกพอร์ตที่ถูกต้องใน ตั้งค่า › การตั้งค่าการทำงาน › พอร์ต แล้วรีสตาร์ตบริการ หรือให้ Dockerfile EXPOSE เฉพาะพอร์ตนั้น

อิมเมจที่เขียนไฟล์ตอนเริ่มทำงาน#

บางอิมเมจเขียนไฟล์นอก /tmp ตอนเริ่มทำงาน เช่น nginx:alpine เขียนที่ /var/cache/nginx จึงเริ่มไม่ได้บนระบบไฟล์แบบอ่านอย่างเดียว ให้ใช้อิมเมจที่ไม่ต้องเขียนไฟล์ หรือย้ายตำแหน่งที่เขียนไปที่ /tmp

Dockerfile
FROM nginxinc/nginx-unprivileged:alpine
COPY dist/ /usr/share/nginx/html/

แค่ให้บริการไฟล์สแตติก?

ให้ดีพลอยเป็นเว็บไซต์แบบสแตติกแทน ไม่ต้องรัน nginx เอง