ปัญหาที่พบเจอเกี่ยวกับ mvnw (Apache Maven Wrapper) ของ Spring Boot
กับ Docker ใน windows

โดยปัญหาที่เจอคือ เมื่อเราทำการ copy สิ่งต่าง ๆ เข้าไปยัง Docker
ผ่านการกำหนดใน Dockerfile เลยเกิดปัญหา ./mvnw not found

โดยที่ Dockerfile เป็นดังนี้

เท่าที่ไปดูปัญหาหลัก ๆ มี 2 เรื่องคือ

  • อย่างแรกเรื่อง permission ของไฟล์ mvnw ที่ไม่สามารถ execute ได้ ก็ chmod +x เข้าไปได้
  • อย่างที่ 2 เป็นเรื่องของ end of line ของ Windows กับ Linux ที่ต่างกันคือ \r\n หรือ CRLF (Carriage Return and Line Feed) ดังนั้นกเปลี่ยนเป็น LF ได้เลย

โดยแก้ไขปัญหาเฉพาะหน้าแบบนี้ไป