AtlasX Container Migration
ในการนำ AtlasX Container มาใช้งานกับ AtlasX Web Service และ AtlasX Web Application นั้น จะต้องมีการเพิ่มเติม code บางส่วนก่อน ถึงจะสามารถใช้งาน container ได้อย่างเต็มรูปแบบ
Note
📣 AtlasX Web Service และ Web Application ตั้งแต่เวอร์ชั่น
4.0.0ขึ้นไป ได้มีการเพิ่มเติมไฟล์สำหรับการทำ container เรียบร้อยแล้ว
AtlasX Web Service
Add base path
ที่ไฟล์ Startup.cs ให้เพิ่ม code นี้เข้าไปใน method Configure เพื่อที่จะสามารถกำหนด basepath ให้ application ได้ ซึ่งจะส่งผลโดยตรงกับ static file ต่าง ๆ ที่ต้อง serve
string basePath = Environment.GetEnvironmentVariable("ASPNETCORE_BASEPATH");
if (!string.IsNullOrEmpty(basePath))
{
app.Use(async (context, next) =>
{
context.Request.PathBase = basePath;
await next.Invoke();
});
}Add resource file
ดาวน์โหลด Docker Template จากที่นี่ แล้วแตกไฟล์ออกมา จากนั้นทำตามขั้นตอน
- คัดลอกไฟล์
nuget.config.template,.dockerignore,Dockerfile,.gitignoreไปที่ root folder ของ project - แก้ไข image tag ของ .NET ใน
Dockerfileโดยต้องตรงกับเวอร์ชั่นของโปรเจกต์ สามารถดูได้ที่ไฟล์.csproj
Note
🚨 AtlasX Web Service เวอร์ชั่น 3.1.0 ขึ้นไปจะใช้งาน .NET 6 แล้ว
# .NET 5
FROM mcr.microsoft.com/dotnet/sdk:5.0-alpine AS build
# .NET 6
FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build- (Optional) คัดลอกไฟล์
docker-compose.yml,.example.envไปที่ root folder ของ project
Note
⚠️
docker-compose.ymlจะใช้สำหรับการ build และ run container บนเครื่องของตัวเอง ซึ่งการตั้งค่าจะแตกต่างกันตามโครงการและความต้องการใช้งาน
AtlasX Web Application
Add resource file
ดาวน์โหลด Docker Template จากที่นี่ แล้วแตกไฟล์ออกมา จากนั้นทำตามขั้นตอน
- คัดลอกไฟล์
.dockerignore,.npmrc.dockerไปที่โฟลเดอร์ClientApp - คัดลอกไฟล์
Dockerfileไปที่โฟลเดอร์ClientApp/docker - แก้ไข image tag ของ
node.jsในDockerfileโดยสามารถดูได้ที่ Compatiblity Matrix - (Optional) คัดลอกไฟล์
docker-compose.yml,.example.envไปที่ root folder ของ project
Note
⚠️
docker-compose.ymlจะใช้สำหรับการ build และ run container บนเครื่องของตัวเอง ซึ่งการตั้งค่าจะแตกต่างกันตามโครงการและความต้องการใช้งาน