muslrust - Docker environment for building musl based static rust binaries

  •        59

A plain docker environment for building static binaries compiled with rust and linked against musl instead of glibc. Built nightly on travis. This is only useful if you require external C dependencies, because otherwise you could do rustup target add x86_64-unknown-linux-musl.

https://github.com/clux/muslrust

Tags
Implementation
License
Platform

   




Related Projects

rust-musl-builder - Docker images for compiling static Rust binaries using musl-libc and musl-gcc, with static versions of useful C libraries

  •    Shell

This command assumes that $(pwd) is readable and writable by uid 1000, gid 1000. It will output binaries in target/x86_64-unknown-linux-musl/release. At the moment, it doesn't attempt to cache libraries between builds, so this is best reserved for making final release builds. This library also sets up the environment variables needed to compile popular Rust crates using these libraries.

musl-cross-make - Simple makefile-based build for musl cross compiler

  •    Makefile

Single-stage GCC build, used to build both musl libc and its own shared target libs depending on libc. No hard-coded absolute paths; resulting cross compilers can be copied/moved anywhere.

docker-alpine-glibc - Carefully crafted Alpine Docker image with glibc (~12MB)

  •    

This image is based on Alpine Linux image, which is only a 5MB image, and contains glibc to enable proprietary projects compiled against glibc (e.g. OracleJDK, Anaconda) work on Alpine. This image includes some quirks to make glibc work side by side with musl libc (default in Alpine Linux). glibc packages for Alpine Linux are prepared by Sasha Gerrand and the releases are published in sgerrand/alpine-pkg-glibc github repo.

jib - Build container images for your Java applications.

  •    Java

Jib builds optimized Docker and OCI images for your Java applications without a Docker daemon - and without deep mastery of Docker best-practices. It is available as plugins for Maven and Gradle and as a Java library.

buildkit-cli-for-kubectl - BuildKit CLI for kubectl is a tool for building container images with your Kubernetes cluster

  •    Go

BuildKit CLI for kubectl is a tool for building OCI and Docker images with your kubernetes cluster. It replaces the docker build command to let you quickly and easily build your single and multi-architecture container images. The BuildKit CLI for kubectl replaces the docker build command with kubectl build to build images in your kubernetes cluster, instead of on a single node. Your Dockerfile will be parsed the same way as with the existing docker build command, and build flags should feel almost the same.


gradle-docker - A Gradle plugin to build Docker images from the build script.

  •    Groovy

This plugin for Gradle adds the capability to build and publish Docker images from the build script. It is available through jCenter and MavenCentral. See the change log for information about the latest changes.

habitus - A Build Flow Tool for Docker

  •    Go

Habitus adds workflows to Docker build. This means you can create a chain of builds to generate your final Docker image based on a workflow. This is particularly useful if your code is in compiled languages like Java or Go or if you need to use secrets like SSH keys during the build. Habitus is a standalone build flow tool for Docker. It’s a command line tool that builds Docker images based on their Dockerfile and a build.yml.

docker-cheat-sheet - Docker Cheat Sheet

  •    

"With Docker, developers can build any app in any language using any toolchain. “Dockerized” apps are completely portable and can run anywhere - colleagues’ OS X and Windows laptops, QA servers running Ubuntu in the cloud, and production data center VMs running Red Hat. Developers can get going quickly by starting with one of the 13,000+ apps available on Docker Hub. Docker manages and tracks changes and dependencies, making it easier for sysadmins to understand how the apps that developers build work. And with Docker Hub, developers can automate their build pipeline and share artifacts with collaborators through public or private repositories.

habitus - A Build Flow Tool for Docker

  •    Go

Habitus adds workflows to Docker build. This means you can create a chain of builds to generate your final Docker image based on a workflow. This is particularly useful if your code is in compiled languages like Java or Go or if you need to use secrets like SSH keys during the build.Habitus is a standalone build flow tool for Docker. It’s a command line tool that builds Docker images based on their Dockerfile and a build.yml.

NetBricks - NetBricks: A new network function framework based on Rust.

  •    Rust

NetBricks is a Rust based framework for NFV development. Please refer to the paper for information about the architecture and design. Currently NetBricks requires a relatively modern Linux version. NetBricks can be built either using a Rust nightly build or using Rust built from the current Git head. In the later case we also build musl and statically link to things. Below we provide basic instructions for both.

bettercap-ng - bettercap-ng is a complete reimplementation of bettercap, the Swiss army knife for network attacks and monitoring

  •    Go

bettercap-ng is a complete reimplementation of bettercap, the Swiss army knife for network attacks and monitoring. It is faster, stabler, smaller, easier to install and to use. In this repository, BetterCAP is containerized using Alpine Linux - a security-oriented, lightweight Linux distribution based on musl libc and busybox. The resulting Docker image is relatively small and easy to manage the dependencies.

dockerception - Docker building dockers - keeping them small

  •    Go

Having an entirely self contained build process within docker is convenient. A downside is that doing this often means that there are build time dependencies that are carried over to your runtime e.g. the official golang builder docker weighs in at 514.8mb before you even add your project in. A better solution would be to be able to build a 'builder' docker image and then use that to construct a 'runtime' docker image. There is a proposal for nested builds: Proposal: Nested builds #7115, but it has been open for some time.

dockramp - A Client Driven Docker Image Builder

  •    Go

Docker 1.8.0 will introduce a new API endpoint for copying files and directories into a container. With this addition, anyone can now implement their own build system using the Docker Remote API. Dockramp is the first proof of concept for an alternative to docker build.Builds will no longer wait to begin while your client uploads a (sometimes large) context directory to the Docker daemon. In Dockramp, files and directories are only transfered when they need to be: on a COPY or EXTRACT instruction. You'll notice that builds start much faster than they ever would have using docker build.

k3c - Lightweight local container engine for container development

  •    Go

k3c brings the Classic ™ Docker images manipulation UX to your k3s development workflow. It is designed to enable the rapid feedback when developing and testing local container images in k3s and rke2. Currently k3s, the lightweight Kubernetes distribution, provides a great solution for Kubernetes from dev to production. While k3s satisifies the Kubernetes runtime needs, one still needs to run docker (or a docker-like tool) to actually develop and build the container images. k3c is intended to replace docker for just the functionality needed for building and manipulating images in the Kubernetes ecosystem. There really is nothing better than the classic Docker UX of build/push/pull/tag. This tool copies the same UX as classic Docker (think Docker v1.12). The intention is to follow the same style but not be a 100% drop in replacement. Behaviour and arguments have been changed to better match the behavior of the Kubernetes ecosystem.

build-push-action - GitHub Action to build and push Docker images with Buildx

  •    TypeScript

v2 of this action includes significant updates and now uses Docker Buildx. It's also rewritten as a typescript-action to be as close as possible of the GitHub Runner during its execution. Upgrade notes with many usage examples have been added to handle most use cases but v1 is still available through releases/v1 branch.

PiCluster - Manage Docker Containers

  •    Javascript

PiCluster is a simple way to manage Docker containers on multiple hosts. Docker Swarm not that good and Kubernetes was too difficult to install currently on ARM. PiCluster will only build and run images from Dockerfile's on the host specified in the config file. This software will work on regular x86 hardware also and is not tied to ARM.

runq - run regular Docker images in KVM/Qemu

  •    Go

runq is a hypervisor-based Docker runtime based on runc to run regular Docker images in a lightweight KVM/Qemu virtual machine. The focus is on solving real problems, not on number of features. runq requires a host kernel >= 4.8 with KVM and VHOST_VSOCK support enabled. The easiest way to build runq and to put all dependencies together is using Docker. For fast development cycles a regular build environment might be more efficient. For this refer to section Developing runq below.

furan - Scale out Docker builds

  •    Go

Furan is a horizontally-scalable Docker build microservice (API) that builds and pushes Docker images from a specified GitHub repository to a specified target (registry or S3). Furan is fast! Optimized for build speed, Furan runs operations in memory instead of disk. Optionally, it can be configured to run all builds within a RAM disk. Furan streams directly from GitHub to a local Docker daemon without temporary files.

ignite - Ignite a Firecracker microVM

  •    Go

Weave Ignite is an open source Virtual Machine (VM) manager with a container UX and built-in GitOps management. Ignite makes Firecracker easy to use by adopting its developer experience from containers. With Ignite, you pick an OCI-compliant image (Docker image) that you want to run as a VM, and then just execute ignite run instead of docker run. There’s no need to use VM-specific tools to build .vdi, .vmdk, or .qcow2 images, just do a docker build from any base image you want (e.g. ubuntu:18.04 from Docker Hub), and add your preferred contents.

Publish-Docker-Github-Action - A Github Action used to build and publish Docker images

  •    Shell

This Action for Docker uses the Git branch as the Docker tag for building and pushing the container. Hereby the master-branch is published as the latest-tag. name is the name of the image you would like to push username the login username for the registry password the authentication token [preferred] or login password for the registry.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.