Top 23 Go Docker Projects
-
Moby
Moby Project - a collaborative project for the container ecosystem to assemble container-based systems
ผมลองไปค้นดูแล้วก็เจอโค้ดที่ทำหน้าที่สุ่มชื่อนี้อยู่ที่นี่ https://github.com/moby/moby/blob/master/pkg/namesgenerator/names-generator.go
-
traefik
The Cloud Native Application Proxy
Latest mention: Top Considerations when Evaluating an Ingress Controller for Kubernetes | reddit.com/r/kubernetes | 2021-01-22This week we were hit by https://github.com/traefik/traefik/issues/3376. My options here are fuck with the acme.json or drop the built in let’s encrypt support for cert-manager. Or drop Traefik.
-
dive
A tool for exploring each layer in a docker image
-
drone
Drone is a Container-Native, Continuous Delivery Platform
Tekton is actually used as a component in Jenkins X and Openshift pipelines. You can also find the source code of other CI engines https://github.com/drone/drone
-
OpenFaaS
OpenFaaS - Serverless Functions Made Simple
Latest mention: Show HN: OpenFaaS template for headless Chrome and Puppeteer | news.ycombinator.com | 2021-01-05Did you try the docs, the blog or YouTube? You'll find plenty of information there. Feel free to start with https://github.com/openfaas/faas/blob/master/ADOPTERS.md
-
rancher
Complete container management platform
If your processor doesn't have SSE4.2 support then you might be running into https://github.com/rancher/rancher/issues/23307
-
Harbor
An open source trusted cloud native registry project that stores, signs, and scans content.
Now we can continue with installing Harbor on the machine. Let’s go to the Harbor GitHub Releases page, download the latest installer and extract the archive:
-
ctop
Top-like interface for container metrics
-
gvisor
Application Kernel for Containers
Latest mention: Building a secure/sandboxed environment for executing untrusted code | dev.to | 2021-01-16gVisor by Google is a userspace application kernel written in Go. Userspace kernel is a software that runs completely in user-mode and has less privilege (since it runs in user-mode). It also acts as a kernel emulation layer, that means, it can act as a fake kernel and can receive and process system-calls, thus hiding the host kernel. gVisor is compatible with OCI and provides a OCI runtime called runsc that can be used by container management tool like docker as the underlying runtime. (docker uses runc as the default runtime).
-
skaffold
Easy and Repeatable Kubernetes Development
Issue in question: https://github.com/GoogleContainerTools/skaffold/issues/5210
-
hydra
OpenID Certified™ OpenID Connect and OAuth Provider written in Go - cloud native, security-first, open source API security for your infrastructure. SDKs for any language. Compatible with MITREid.
Latest mention: Ory Hydra 1.9: Open-source Golang OAuth2 provider | reddit.com/r/patient_hackernews | 2021-01-13 -
transfer.sh
Easy and fast file sharing from the command-line.
Fast, lightweight, and most importantly widely used and tested: https://github.com/dutchcoders/transfer.sh
-
Lean and Mean Docker containers
DockerSlim (docker-slim): Don't change anything in your Docker container image and minify it by up to 30x (and for compiled languages even more) making it secure too! (free and open source)
6) I stumbled across a tool docker-slim that can supposedly reduce a container's size by up to 30x.
-
rook
Storage Orchestration for Kubernetes
Latest mention: Error initializing cluster client: ObjectNotFound('RADOS object not found (error calling conf_read_file)') | reddit.com/r/ceph | 2021-01-08Where are you running these commands? Are you exec'd into the rook-ceph-toolbox pod (or some other way to make sure you have all the right config)? If not, see https://github.com/rook/rook/blob/master/Documentation/ceph-toolbox.md
-
runc
CLI tool for spawning and running containers according to the OCI specification
Latest mention: Building a secure/sandboxed environment for executing untrusted code | dev.to | 2021-01-16gVisor by Google is a userspace application kernel written in Go. Userspace kernel is a software that runs completely in user-mode and has less privilege (since it runs in user-mode). It also acts as a kernel emulation layer, that means, it can act as a fake kernel and can receive and process system-calls, thus hiding the host kernel. gVisor is compatible with OCI and provides a OCI runtime called runsc that can be used by container management tool like docker as the underlying runtime. (docker uses runc as the default runtime).
-
containerd
An open and reliable container runtime
Depois do advento do Docker, a Docker, Inc. cedeu sua core engine para Cloud Native Computing Foundation sob o nome de containerd. Você pode ver pela CNCF Landscape que o containerd é uma caixinha em Container Runtime. A evolução da tecnologia não é mais controlada pela Docker, Inc., mas por essa organização que faz parte da Linux Foundation.
-
watchtower
A process for automating Docker container base image updates.
Latest mention: Best Practice: Working locally on python files (w/ venv) synced with remote server w/o remote-ssh extension. | reddit.com/r/vscode | 2021-01-24the best practice is use git, it's an industry standard at this point. also take a look at something like https://pypi.org/project/git-watcher/ or https://github.com/containrrr/watchtower if you are happy with using Docker based applications
-
kind
Kubernetes IN Docker - local clusters for testing Kubernetes
Latest mention: Thou shalt not run a database inside a container | news.ycombinator.com | 2021-01-13You can!
KinD[0] is a project to do just that, although production workloads are an explicit non-goal.
-
goreleaser
Deliver Go binaries as fast and easily as possible
-
flannel
flannel is a network fabric for containers, designed for Kubernetes
Latest mention: Is it possible to setup Kubernetes without private network | reddit.com/r/kubernetes | 2021-01-19However, a private VLAN is only one implementation of that. Take a look at Calico's overlay networking or Flannel, using either VXLAN or IPIP. Both wrap your cluster-level communication (private IP to private IP) in a node-level communication packet (public IP to public IP).
-
trivy
A Simple and Comprehensive Vulnerability Scanner for Containers, Suitable for CI
-
argo-cd
Declarative continuous deployment for Kubernetes.
Latest mention: Helm vs Kustomize - The Fight Between Templating and Patching in Kubernetes | reddit.com/r/kubernetes | 2021-01-26I think this can be bested summed up by this quote by some of the maintainers of ArgoCD.
-
terratest
Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.
Latest mention: Testing in Infrastructure as Code and why Terraform may not be the best option | dev.to | 2021-01-06You can’t use Terratest assertions with LocalStack and there is an open pull request https://github.com/gruntwork-io/terratest/pull/495 solving this issue. Of course, you could write your own assertions and we will do it later in a different language, so let’s skip this now and move on.
Index
What are some of the best open-source Docker projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | Moby | 59,503 |
2 | traefik | 32,360 |
3 | dive | 24,249 |
4 | drone | 22,444 |
5 | OpenFaaS | 19,164 |
6 | rancher | 16,040 |
7 | Harbor | 13,932 |
8 | ctop | 11,002 |
9 | gvisor | 10,867 |
10 | skaffold | 10,822 |
11 | hydra | 10,099 |
12 | transfer.sh | 10,030 |
13 | Lean and Mean Docker containers | 9,567 |
14 | rook | 8,227 |
15 | runc | 7,608 |
16 | containerd | 7,588 |
17 | watchtower | 7,314 |
18 | kind | 7,106 |
19 | goreleaser | 6,849 |
20 | flannel | 6,102 |
21 | trivy | 5,984 |
22 | argo-cd | 5,007 |
23 | terratest | 4,653 |