nvidia-container-runtime
Moby
nvidia-container-runtime | Moby | |
---|---|---|
3 | 230 | |
1,089 | 69,113 | |
- | 0.3% | |
0.0 | 10.0 | |
over 1 year ago | 1 day ago | |
Makefile | Go | |
Apache License 2.0 | Apache License 2.0 |
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.
nvidia-container-runtime
-
Comparing 3 Docker container runtimes - Runc, gVisor and Kata Containers
Now you can even choose a runtime which creates a virtual machine or a container with a more secure isolation. Once there was a runtime for using an NVIDIA GPU called nvidia-container-runtime. That project is now deprecated and Docker has the "--gpus" option instead. Talking about GPUs is not the scope of this blogpost, but it is a good example of a special runtime that gave additional capabilities to containers.
-
Can you add CUDA to a docker container?
Yes, you can, actually already exist images with Cuda installed https://hub.docker.com/r/nvidia/cuda . To be able to use the GPU device within the docker container you need to install `nvidia-container-runtime` https://github.com/NVIDIA/nvidia-container-runtime.
- "Unknown runtime specified nvidia" trying to configure Plex Docker container with GPU passthrough
Moby
-
Using cURL Inside a Docker Container
If we run the command without -i option (i.e. with only -t option), a pseudo-TTY will be allocated and the shell will start, but no commands can be accepted and we cannot continue the operation because STDIN is disabled. To forcefully exit from a container in this state, we need to send three consecutive SIGINT signals by pressing cmd + . same times. And this exiting does not trigger the automatic container removal provided by --rm option, so we need to trigger it by stopping the container or remove the container directly.
-
A story on home server security
Docker has a known security issue with port exposure in that it punches holes through the firewall without asking your permission, see https://github.com/moby/moby/issues/4737
I usually expose ports like `127.0.0.1:1234:1234` instead of `1234:1234`. As far as I understand, it still punches holes this way but to access the container, the attacker would need to get a packet routed to the host with a spoofed IP SRC set to `127.0.0.1`. All other solutions that are better seem to be much more involved.
-
Which Docker variant am I using and where is the daemon running?
When using the Docker Engine on Linux directly, based on the Moby project, you can run
-
Day 23: Docker Resources
Moby is the open-source foundation of Docker Engine. Diving into this codebase will help you understand:
-
Comparing 3 Docker container runtimes - Runc, gVisor and Kata Containers
Originally Docker created only containers. In fact, it used LXC as an "exec driver" which is basically what we call runtime today or at least the closest thing to it. It was deprecated in Docker 1.8.0.
-
You run containers, not dockers - Discussing Docker variants, components and versioning
The first commit of Docker happened on January 19, 2013. You can still find it on GitHub: https://github.com/moby/moby/commit/a27b4b8cb8e838d03a99b6d2b30f76bdaf2f9e5d
-
You're probably not vulnerable to the CUPS CVE
I think one of the culprits of this bad default is docker containers.
Since a container runs your code in a network namespace, in that context '127.0.0.1' really means "accessible inside the container, effectively nowhere", and '0.0.0.0' means "accessible only on the local machine" (except that's not actually true, check out this open issue lol https://github.com/moby/moby/issues/22054 )
I think that's one reason for some software's default of 0.0.0.0 - people are cargo-culting from stuff that runs in docker and/or people want there stuff to run in docker and work by default.
-
The Docker Ecosystem Explained
Docker Engine development has migrated to the Moby Project, an open source framework maintained by the Docker team. Before the migration in 2020, Docker Engine was a maintained fork of the Moby Project that featured select components from it.
-
5 Alternatives to Docker Desktop
Rancher Desktop allows you to choose between the Moby engine (offered by Continered) and the dockerd engine (offered by Docker) for building, pushing, and running containers. Compared with Docker Desktop, which provides Docker CLI as a CLI tool, Rancher provides both kubectl and nerdctl for managing Kubernetes and containers, respectively.
-
Vendoring, or go mod vendor: What Is It?
Moby: Made by Docker to really push forward software containerization.
What are some alternatives?
container-images
podman - Podman: A tool for managing OCI containers and pods.
nvidia-docker - Build and run Docker containers leveraging NVIDIA GPUs
containerd - An open and reliable container runtime
Packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
runc - CLI tool for spawning and running containers according to the OCI specification
docker-openwrt - OpenWrt running in Docker
kubernetes - Production-Grade Container Scheduling and Management
nerdctl - contaiNERD CTL - Docker-compatible CLI for containerd, with support for Compose, Rootless, eStargz, OCIcrypt, IPFS, ...
aptly - aptly - Debian repository management tool
ofelia - A docker job scheduler (aka. crontab for docker)
k3d - Little helper to run CNCF's k3s in Docker