Giới thiệu Với tư cách là nhà phát triển web, chúng tôi thường tìm dịch vụ lưu trữ phù hợp cho các ứng dụng của mình với tất cả những rắc rối khi triển khai và duy trì chúng. Nhưng giờ đây, chúng ta đang sống trong một kỷ nguyên mới khi các nhà cung cấp dịch vụ đám mây có thể tạo ra rất nhiều thứ cho chúng ta mà hầu như không mất phí. Đối với các nhà phát triển .NET, Microsoft Azure có vẻ là sự lựa chọn tự nhiên nhất để lưu trữ các ứng dụng web. Docker là một phần công nghệ khác giúp bạn có thể trừu tượng hóa khỏi nền tảng và môi trường mà bạn đang chạy ứng dụng của mình. Trong bài viết này, tôi sẽ hướng dẫn chi tiết về cách tạo một ứng dụng web ASP.NET Core đơn giản, tạo hình ảnh docker với ứng dụng của bạn và cách dễ nhất để triển khai nó lên Azure. Cuối cùng, bạn sẽ hiểu rõ về cách triển khai ứng dụng web của mình và làm cho nó có thể truy cập được trên toàn thế giới. 1. Tạo ứng dụng web ASP.NET Core Tôi sẽ sử dụng JetBrains Rider cho mục đích phát triển trong bài viết này. Nhưng bạn có thể sử dụng bất kỳ công cụ nào bạn muốn. Đầu tiên, bạn cần tạo một dự án mới. Hãy gọi nó đơn giản là ' '. webapp Sau khi tạo một dự án mới, nó sẽ trông như thế này: 2. Tạo hình ảnh Docker Nếu không có bất kỳ thay đổi nào trong dự án, chúng tôi sẽ tập trung vào . Sửa đổi nó như ví dụ sau: Dockerfile FROM mcr.microsoft.com/dotnet/aspnet:6.0 as base WORKDIR /app EXPOSE 8080 ENV ASPNETCORE_URLS http://+:8080 FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build COPY . /src WORKDIR /src RUN dotnet build "webapp.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "webapp.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "webapp.dll"] Bạn cần chú ý đến dòng và để có thể kết nối qua HTTP tới docker container. EXPOSE 8080 ENV ASPNETCORE_URLS http://+:8080 Xây dựng hình ảnh docker từ dòng lệnh. Bạn cần điều hướng đến thư mục dự án và thực hiện lệnh sau: webapp DOCKER_BUILDKIT=1 docker buildx build --platform linux/amd64 --tag drmoz/webapp:latest . Tôi đang chạy nó trên Mac M1 và tôi phải chỉ định rõ ràng tham số để tương thích với việc triển khai Azure. Tôi cũng phải kích hoạt Docker Buildkit bằng cách chỉ định tham số và sử dụng để có thể xây dựng hình ảnh cho kiến trúc khác. --platform DOCKER_BUILDKIT=1 buildx Nếu bạn đang chạy nó trên nền tảng Intel x86/x64, bạn có thể sử dụng lệnh mà không cần chỉ định tham số và kích hoạt . docker build --platform buildx Bạn có thể gắn thẻ hình ảnh của mình theo cách khác, nhưng vì tôi sẽ sử dụng Docker Hub nên tôi phải chỉ định tên tài khoản của mình: như một phần của thẻ hình ảnh . drmoz drmoz/webapp:latest Khi một image được tạo, bạn có thể kiểm tra xem nó có trong Docker hay không bằng cách chạy lệnh sau: docker images Nó phải có trong danh sách: REPOSITORY TAG IMAGE ID CREATED SIZE drmoz/webapp latest 0cfac748256b 37 minutes ago 216MB Hãy chạy bộ chứa docker để xác minh rằng hình ảnh mới được tạo hoạt động tốt. Thực thi lệnh để khởi động vùng chứa: docker run docker run -p 5555:8080 drmoz/webapp:latest Chỉ định tham số để ánh xạ cổng bên trong vùng chứa tới cổng trên máy cục bộ của bạn. Ngoài ra, chỉ định tên hình ảnh để tạo vùng chứa. Trong trường hợp của tôi, đó là . -p 8080 5555 drmoz/webapp:latest Bây giờ, bạn có thể điều hướng trong trình duyệt của mình để xem trang chủ ASP.NET Core Web App. http://localhost:5555 Chúng ta cần đẩy một hình ảnh lên . Trước đó, bạn phải đăng ký trên Docker Register và tạo một kho lưu trữ. Nhấp vào nút “ ” ở góc bên phải của trang chủ. Docker Hub Tạo kho lưu trữ Chỉ định trường và giữ chế độ hiển thị kho lưu trữ . Repository Name Public Trong dòng lệnh, bạn phải đăng nhập vào sổ đăng ký Docker Hub: docker login Sau đó, bạn sẽ có thể đẩy hình ảnh mới tạo vào sổ đăng ký: docker push drmoz/webapp:latest Điều hướng đến kho lưu trữ và bạn sẽ thấy thông tin về hình ảnh: 3. Tạo ứng dụng web trong Azure Bây giờ, chúng tôi đã sẵn sàng triển khai Ứng dụng web ASP.NET Core của mình lên Azure. Hãy đăng nhập vào Cổng thông tin Azure và tạo một nhóm tài nguyên mới. Chỉ định tên Nhóm tài nguyên là ' ' và nhấp vào nút 'Xem lại + tạo'. webapp-rg Trên màn hình tiếp theo, chỉ cần nhấn nút 'Tạo'. Bây giờ, chúng ta có thể tạo một Ứng dụng web. Điều hướng đến trang 'Tạo tài nguyên' và tìm WebApp. Nhấp vào nút 'Tạo'. Bạn cần chỉ định mà chúng tôi đã tạo trước đó. Ngoài ra, hãy chỉ định một duy nhất cho Ứng dụng web. Chọn 'Docker Container' trong trường . Sau này, chúng ta sẽ có thể chỉ định Docker image nào sẽ được sử dụng. Resource Group Name Publish Chọn bất kỳ tùy chọn phù hợp nào trong phần , nhưng tôi khuyên bạn nên sử dụng lốp cho mục đích thử nghiệm. Điều hướng đến tab Docker. Pricing plans F1 miễn phí Trên tab này, chọn 'Docker Hub' trong trường . Chọn 'Công khai' trong trường và chỉ định giá trị cùng với tên của hình ảnh mà chúng tôi đã đẩy tới Docker Hub. Điều hướng đến tab 'Đánh giá + tạo'. Trên tab này, nhấp vào nút 'Tạo': Image Source Access Type Image and tag Khi tài nguyên mới được triển khai, bạn sẽ được hỏi liệu bạn có muốn điều hướng đến tài nguyên này hay không; cứ làm đi. Bạn sẽ có thể xem thông tin liên quan đến Ứng dụng web. Nhấp vào nút 'Duyệt' để mở ứng dụng web đã triển khai. Nếu mọi thứ đều ổn, bạn sẽ thấy trang chủ ASP.NET Core Web App tương tự như trang chủ bạn thấy trong trình duyệt của mình bằng cách điều hướng . http://localhost:5555 Kích hoạt triển khai liên tục Nếu bạn điều hướng đến cài đặt 'Trung tâm triển khai' và bật 'Tiếp tục triển khai', bạn sẽ có thể triển khai lại hình ảnh của mình mỗi khi bạn đẩy một hình ảnh mới vào Docker Hub. Bằng cách đó, bạn có thể thực hiện các thay đổi đối với mã của mình, đẩy mã đó vào Docker Hub bằng hình ảnh mới và xem các thay đổi trong vài phút trong Azure. Khắc phục sự cố ứng dụng web Azure Để có thể xem nhật ký triển khai và xác định sự cố, bạn cần bật tính năng lưu nhật ký vào hệ thống tệp trong chương 'Nhật ký dịch vụ ứng dụng' như sau: Khi hoàn tất, bạn có thể điều hướng đến 'Trung tâm triển khai' và xem nhật ký như sau: Bản tóm tắt Nếu đạt đến điểm này, bạn đã tạo được một ứng dụng web ASP.NET Core; đóng gói nó vào hình ảnh Docker và triển khai nó lên Azure. Ngày nay, công nghệ giúp cuộc sống trở nên dễ dàng hơn và đẩy nhanh quá trình phát triển. Bạn có thể thấy bạn có thể triển khai ứng dụng của mình đến nhà cung cấp đám mây và hiển thị ứng dụng đó ra toàn thế giới dễ dàng như thế nào, thực hiện một số thử nghiệm và xem kết quả công việc của bạn. Giờ đây, bạn có thể tìm hiểu chi tiết về các nhà cung cấp đám mây Azure bằng của Microsoft. Ngoài ra, hãy xem Docker để hiểu sâu hơn về công nghệ này. Tôi hy vọng nó có thể hữu ích. tài liệu tài liệu