All Articles
สร้าง .NET 5.0 Web API Project แล้วจับยัดลง Docker กันเถอะ

2020-11-14

สร้าง .NET 5.0 Web API Project แล้วจับยัดลง Docker กันเถอะ

Read on Medium

สร้าง .NET 5.0 Web API Project แล้วจับยัดลง Docker กันเถอะ

เพิ่งปล่อยออกมาให้ใช้กันสด ๆ ร้อน ๆ สำหรับ .NET 5.0 นะครับ ซึ่งไฮไลท์ของมันมีเยอะแยะมากมาย เช่น Performance ต่าง ๆ ที่ดีขึ้น หรือไม่ว่าจะเป็นการซัพพอร์ตกับฮาร์ดแวร์ต่าง ๆ นะครับ วันนี้เลยจะมาลองสร้างโปรเจค .NET 5.0 กัน แล้วลองจับมันยัดลงไปใน Docker กันดูครับ

เตรียมพร้อมก่อนเริ่ม Project

เรามาติดตั้ง tools ที่ใช้กันก่อนเลยครับ

อันแรกคือพระเอกของเราเลย .NET 5.0 ไปโหลดกันได้เลยที่ https://dotnet.microsoft.com/download/dotnet/5.0

ต่อมาเราจะมาสร้าง Project กันบน Visual Studio 2019 ถ้าใครยังไม่มีก็ไปโหลดกันได้เลย https://visualstudio.microsoft.com/

เริ่มสร้าง Project กัน

เปิด VS 2019 ขึ้นมาเลยครับ เลือกเป็น Create a new project

เลือกไปที่ ASP.NET Core Web Application เลยครับ

Image 2

ใส่รายละเอียดพวกชื่อ, path ของ Projectเลยครับ

Image 3

อันนี้ผมจะสร้างเป็น Web API ธรรมดานะครับ ก็เลือกที่ Web API ได้เลย อย่าลืมเลือกไปที่ ASP.NET Core 5.0 นะครับ ****สำหรับคนที่ไม่มีให้เลือก ให้อัพเดท VS 2019 ให้เป็นเวอร์ชั่นตั้งแต่ 16.8.0 ขึ้นไปนะครับ ****

Image 4

รอ Project สร้างเสร็จแล้วก็ลองรันดูได้เลยครับ อันนี้ในตัวอย่างผมจะใช้ API ที่ได้มาพร้อมกับ Project เลยนะครับ ซึ่งจะมาจาก WeatherForecastController นั่นเอง

Image 5

เรียบร้อยแล้วครับกับการสร้าง Project .NET 5.0 ของเรา จะเห็นได้ว่าแทบจะไม่ต่างกับเวอร์ชั่นก่อน ๆ เลย ไม่ยากเลยครับ ต่อไปเราจะมาลองจับ Project ของเรายัดลงไปใน Docker กันครับ

มาจับ Project .NET 5.0 ของเราไปใส่ใน Docker กัน

ขั้นตอนนี้ผมจะย้ายมาทำใน vs code นะครับ เพราะผมถนัดใช้เทอร์มินอลในนี้มากว่า (ฮ่าๆ) แต่ใครจะใช้ vs 2019 ก็ได้เหมือนกันนะครับ แล้วแต่ความมถนัดเลย

มาเริ่มเลยครับ สร้าง Dockerfile ขึ้นมาก่อนเลย

Image 6

จากนั้นเอาโค้ดนี้ไปวางได้เลยครับ อย่าลืมมแก้ชื่อ Project ตัวเองแล้วกดเซฟด้วยนะครับ

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build-env
WORKDIR /app COPY *.csproj ./
RUN dotnet restore COPY . ./
RUN dotnet publish -c Release -o out FROM mcr.microsoft.com/dotnet/aspnet:5.0
WORKDIR /app
EXPOSE 80
COPY --from=build-env /app/out .
ENTRYPOINT [ "dotnet","net5api.dll" ]

ตัว sdk กับตัว aspnet อันนี้ผมคิดว่าน่าจะเป็นตัวล่าสุด ณ ตอนนี้ เพราะผมเพิ่งเห็นมีการอัพเดทใน Docker Hub เมื่อไม่นานมานี้เอง จึงเอามาลองเล่นดู ซึ่งโค้ดชุดนี้จะเป็นการทำตั้งแต่ build project ไปจน publish เลยครับ

เสร็จแล้วอย่ารอช้าครับ build docker โลดดดด

docker build -t net5api -f Dockerfile เท่านี้เราก็จะได้ docker image ของ Project เรามาแล้ววววว 🎉

Image 7

ต่อไปมาลอง run container กันดูครับว่าโปรเจคเราใช้ได้จริงหรือเปล่า โดยอันนี้ผมจะขอชี้ไปที่ port 5000 นะครับ พอดี port 80 ผมติดอย่างอื่นอยู่

docker run -p 5000:80 net5api ลองเข้าดูเลยครับ localhost:5000/WeatherForecast

Image 8

มาแล้วววววววว ✨ เป็นยังไงครับ ง่ายมาก ๆ เลย สามารถเอาไปปรับใช้กับโปรเจคของตัวเองได้นะครับ

ในเรื่องของ docker เองผมเองก็เพิ่งศึกษาได้ไม่นานอาจจะมีผิดพลาดหรือไม่ครอบคลุมบ้างในบางอย่าง ก็ขออภัยเอาไว้ล่วงหน้าเลยนะครับ 🙏 และหวังว่าบทความนี้จะเป็นเกร็ดความรู้ให้ผู้อ่านไม่มากก็น้อยครับนะครับ

ยังไงหากชื่นชอบก็กด Clap กับ Follow ได้นะคร้าบบบบบ 😁

© 2026 Nanpipat Klinpratoom. All Rights Reserved.