sdk-container-builds
bazel-nix-example
sdk-container-builds | bazel-nix-example | |
---|---|---|
7 | 3 | |
170 | 27 | |
1.2% | - | |
4.8 | 0.0 | |
6 days ago | over 1 year ago | |
C# | Starlark | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sdk-container-builds
-
.NET 8 Standalone 50% Smaller On Linux
You can also publish .NET apps/services directly as container images [1].
Or you can distribute them as a single file, standalone, "ready to run" application, which precompiles your methods and includes the JIT. This results in a larger executable, but keeps all the functionality, including reflection and runtime code generation, intact.
And, of course, you can install .NET core directly on your Linux system, just as you would for Python or Ruby (where you also don't usually rely on the default installation).
[1] https://learn.microsoft.com/en-us/dotnet/core/docker/publish...
-
Secure your .NET cloud apps with rootless Linux Containers
If you're using the https://github.com/dotnet/sdk-container-builds tech to build containers, we're working on a 0.4 version of that package that applies this rootless user by default - the goal is that the SDK tooling is the smoothest, least-effort pathway to secure, correct, best-practice containers for all .NET applications!
-
Dockerize .NET Applications without Dockerfile! - Built-In Container Support for .NET 7
Alternatively, here's Microsoft's own documentation about how to do all of the above: https://github.com/dotnet/sdk-container-builds/blob/main/docs/GettingStarted.md
-
Crafting container images without Dockerfiles
We've been baking this functionality directly into the .NET SDK for a couple releases now: https://github.com/dotnet/sdk-container-builds
It's really nice to derive mostly-complete container images from information your build system already has available, and the speed/UX benefits are great too!
-
Announcing built-in container support for the .NET SDK
Funny you should mention scaffolding out a Dockerfile - internally we'd been talking about that as a bridge to other services that are highly Dockerfile-based. I just logged https://github.com/dotnet/sdk-container-builds/issues/146 to track this request. We likely won't prioritize it for the 7.0 release unless we get huge amounts of feedback that it would be helpful, but it is something we'd like to do.
bazel-nix-example
-
Crafting container images without Dockerfiles
I put together an example that mixes Nix and Bazel a couple of years ago: https://github.com/jvolkman/bazel-nix-example
Nix is used to build a base Docker image, and Bazel builds layers on top.
-
Optimizing Docker image size and why it matters
It sounds so cool, but then I don’t get out of the base image before you’re writing your own Python launcher in a heredoc in a shell script in a docker image builder in a mix derivation[0]? Curiosity compels me to ask: how did all that become necessary?
[0]: https://github.com/jvolkman/bazel-nix-example/blob/e0208355f...
-
Building Container Images with Nix
Not sure of any writing that ties all of the pieces together, but I made a small example for you: https://github.com/jvolkman/bazel-nix-example
What are some alternatives?
sdk-container-demo - Example projects and GitHub Actions Workflows using the .NET SDK to create containers
template-nixos - The NixOS template, configured for Gitpod (www.gitpod.io) to give you pre-built, nix based ephemeral operating system environments in the cloud.
Cocona - Micro-framework for .NET console application. Cocona makes it easy and fast to build console applications on .NET.
dive - A tool for exploring each layer in a docker image
cargo-chef - A cargo-subcommand to speed up Rust Docker builds using Docker layer caching.
nix-prefetch-github - Prefetch sources from github for nix build tool
interactive - .NET Interactive combines the power of .NET with many other languages to create notebooks, REPLs, and embedded coding experiences. Share code, explore data, write, and learn across your apps in ways you couldn't before.
nixpkgs - Nix Packages collection & NixOS