hiroshi / Cb
Licence: mit
Build container images locally using Google Cloud Container Builder compatible config file. 2017-08-22: Now there is official alternative https://github.com/GoogleCloudPlatform/container-builder-local.
Stars: â 22
Programming Languages
go
31211 projects - #10 most used programming language
Labels
Projects that are alternatives of or similar to Cb
Docker Node
Official Docker Image for Node.js đł đ˘ đ
Stars: â 6,873 (+31140.91%)
Mutual labels: docker-image
Docker Jenkins
Jenkins with Blue Ocean and support for builiding jobs in Docker
Stars: â 18 (-18.18%)
Mutual labels: docker-image
Metasfresh
We do Open Source ERP - Fast, Flexible & Free Software to scale your Business.
Stars: â 807 (+3568.18%)
Mutual labels: docker-image
Docker Dante Telegram
dante config builder for Telegram SOCKS-proxy & Dockerfile for building image with such proxy
Stars: â 16 (-27.27%)
Mutual labels: docker-image
Docker Bind
Dockerize BIND DNS server with webmin for DNS administration
Stars: â 769 (+3395.45%)
Mutual labels: docker-image
Up Node8
The way this project is packaging the Node 8 app isn't the best. Try the official example of Apex Up that uses the Node binary!
Stars: â 22 (+0%)
Mutual labels: docker-image
Azurite
A lightweight server clone of Azure Storage that simulates most of the commands supported by it with minimal dependencies
Stars: â 810 (+3581.82%)
Mutual labels: docker-image
Docker Lambda Packager
A docker image based on Amazon Linux to create packages for AWS Lambda đł đ
Stars: â 18 (-18.18%)
Mutual labels: docker-image
Androidsdk
đł Full-fledged Android SDK Docker Image
Stars: â 776 (+3427.27%)
Mutual labels: docker-image
Aria2 Pro Docker
Aria2 Pro | A perfect Aria2 Docker image | ć´ĺĽ˝ç¨ç Aria2 Docker 厚ĺ¨éĺ
Stars: â 802 (+3545.45%)
Mutual labels: docker-image
Spilo
Highly available elephant herd: HA PostgreSQL cluster using Docker
Stars: â 776 (+3427.27%)
Mutual labels: docker-image
Traefik Certs Dumper
Dumps Let's Encrypt certificates of a specified domain which Traefik stores in acme.json.
Stars: â 20 (-9.09%)
Mutual labels: docker-image
Flannel
flannel is a network fabric for containers, designed for Kubernetes
Stars: â 6,905 (+31286.36%)
Mutual labels: docker-image
Tizen4docker
Docker based solution to run Tizen Studio IDE on ANY Linux distro.
Stars: â 22 (+0%)
Mutual labels: docker-image
cb - a Container Builder
It builds container images locally using Google Cloud Container Builder config file.
Why not just do docker build? It will be useful to provide an easy way to manage multiple steps builds.
- We love small docker images:
- Don't want to contain golang environment. We love a single go binary docker image.
- Don't Want to contain frontend js build environment for a web app.
What it looks like?
steps:
- name: gcr.io/cloud-builders/docker
args: ["build", "-t", "cb-build", "-f", "Dockerfile.build", "."]
- name: cb-build
args: ["cp", "/go/src/cb/cb", "/workspace"]
- name: gcr.io/cloud-builders/docker
args: ["build", "-t", "cb", "."]
This is an example config file. It will build a golang single binary image of cb command itself (not useful though).
- 1st step - Build a temporary image. It builds a go binary using
golangbase image as usual. - 2nd step - Run the resulted image of 1st step. It copies the golang binary in the image to workspace volume.
- 3rd step - Build a final image from scratch. Just add the
cbcommand from workplace volume.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
cb latest 05994f135ea4 2 days ago 3.208 MB
cb-build latest 61f9b946f604 2 days ago 680.9 MB
...
Install
go get -u github.com/hiroshi/cb
Make sure you have $GOPATH/bin in your $PATH.
Usage
cb SOURCE.tar.gz --config CONFIG.(json|yml)
Notes
- The
sourcefield in config will be ignored as well asgcloud alpha container builds createdo. Specify SOURCE as 1st argument. - The
imagesfield in config will be ignored. Thecbcommand is intended for local builds so always pushing images are not supposed to be welcome.
How it works
-
- Create a volume for
workspacewithdocker volume create.
- Create a volume for
-
- Expand
SOURCEinto theworkspacevolume withdocker copy.
- Expand
-
-
docker runan image with volumes/var/run/docker.sock//var/run/docker.sock/,WORKSPACE_VOLUME:/workspace.
- If the image have docker command like this, you can do
docker buildor anything in container with SOURCE at hand.
-
-
- Repeat 3) with different image and args as you specifed in
stepsfield of CONFIG.
- Repeat 3) with different image and args as you specifed in
Do you get it? No? See and run examples, I hope it may help you understand.
Examples
make run-example
TODO
- Support
wait_forandidfields ofsteps
References
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].
