Chuyển đến nội dung chính

Bài đăng

Đang hiển thị bài đăng từ Tháng 10, 2022

Run Project C# trong Visual Studio Code

Trong bài viết này, mình sẽ hướng dẫn các bạn tạo Project .NET bằng Visual Studio Code: 1 project và multi-project. Visual Studio Code là gì? Visual Studio Code (được biết đến với cái tên VS Code) là một trình soạn thảo văn bản mã nguồn mở miễn phí của Microsoft. VS Code có sẵn cho Windows, Linux và macOS. Để hỗ trợ Debug và run C# project, bạn cần cài đặt các extension sau: C# (C# for Visual Studio Code (powered by OmniSharp) Tạo 1 project console đơn giản Mở Terminal, gõ câu lệnh sau để tạo Project Sample với folder Sample: dotnet new console -o sample cd .\sample\ code . Sau đó bạn cần tạo folder .vscode để chứa settings về debug và task configuration Bấm Ctrl+Shift+P, gõ .NET: Generate Assets for Build and Debug Tạo solution với nhiều Project dotnet new sln -o MySolution cd .\MySolution\ mkdir src dotnet new console -o src/MyProject dotnet sln add src/MyProject/MyProject.csproj dotnet new classlib -o src/MyLibraries dotnet sln add src/MyProject/MyLibraries.csproj cd .\src\MyLib...

Docker: Setup MariaDB - Part 10.1

Trong bài viết này, mình sẽ setup MariaDB với PHPMyAdmin bằng cách sử dụng Docker Volume và Docker Compose. Mã nguồn mở (miễn phí thực sự) Sử dụng MariaDB hay Mysql đều có 2 phiên bản thương mại và cộng đồng, tuy nhiên với MySQL bản thương mại (Entrerprise) và bản cộng đồng (miễn phí) có ngay từ những ngày đầu tiên của dòng sản phẩm này. Đó cũng chính là lý do mà MySQL được mua lại một cách dễ dàng từ năm 2009 bởi Oracle sau khi Sun sụp đổ năm 2008. Hiện tại MySQL được bảo trì và phát triển bằng đội ngũ của Oracle và không chịu nhiều tác động bởi cộng đồng, kể từ phiên bản 5.7, các lịch sử commit cho thấy MySQL được phát triển bởi các thành viên đến từ @oracle, hơn nữa các vấn đề (lỗi, cải thiện hiệu suất,…) đều không đem ra thảo luận giữa cộng đồng một cách rõ ràng, một số module là mã nguồn đóng. Trái ngược với MySQL, MariaDB hoàn toàn mã nguồn mở được vận hành bởi cộng đồng thực sự (MariaDB Foundation), đứng đằng sau là công ty Monty Program, mặc dù cũng có bản thương mại nhưng khôn...

Docker: Sử dụng Docker Volume - Part 10

Docker container được sử dụng để chạy các ứng dụng trong một môi trường riêng biệt. Theo mặc định, tất cả các thay đổi bên trong container sẽ bị mất khi container dừng. Nếu chúng ta muốn giữ data giữa các lần chạy, Docker volume và bind mount có thể giúp ích. Trong hướng dẫn này, chúng ta sẽ tìm hiểu về Docker Volumes và cách quản lý và kết nối chúng với container. Volumes là gì? Storage trong Docker là một tính năng quản lý data của Docker. Data ở đây có thể hiểu là các file được sinh ra trong quá trình chạy Ứng dụng, ví dụ như file log, file data, file report … Mặc định khi một container được khởi chạy, data trong quá trình vận hành được chứa ở writeable layer và sẽ bị mất đi khi container bị xóa. Ngoài ra thì một nhược điểm nữa đó là data ở container này khó có thể chia sẻ data với các container khác. Bind mount Bind mount, hoặc host volume là một kết nối từ container đến một thư mục trên host. Nó cho phép host chia sẻ hệ thống file của riêng nó với vùng chứa, hệ thống này có thể đư...

Podman play kube - Part 1

Khi tìm hiểu về Kubernetes, mình thấy hơi khó khăn do mình tự học và practice tại nhà. Mình thấy 1 con đường học dễ hơn để tiếp cận Kubernetes là đi từ Docker => Podman => Pod => Minikube rồi tới Kubernetes. Không biết như vậy có đúng không? Podman play kube là gì? Podman play kube sẽ đọc trong một tệp có cấu trúc của Kubernetes YAML. Sau đó, nó sẽ tạo lại các container, pod hoặc volume được mô tả trong YAML. Sau đó, các container trong một pod sẽ được khởi động và ID của pod mới hoặc tên của volume mới được xuất ra. Vậy pod là gì? Theo định nghĩa trong Kubernetes: "Pod là đơn vị nhỏ nhất trong Kubernetes. Một Pod có thể chứa 1 hoặc nhiều containers" Trong bài viết này, mình sẽ làm 1 demo nhỏ gồm 1 pod chứa 1 container. Các bài tiếp theo, mình sẽ làm thêm các ví dụ tạo nhiều container trong 1 pod và sử dụng local image trong Minikube, sử dụng driver podman. Các bạn có thể xem 1 ví dụ cách tạo Pod và Service trong minikube sử dụng Hyper-V: https://nhatkyhoctap.blogspo...