GithubHelp home page GithubHelp logo

mhalbritter / colima Goto Github PK

View Code? Open in Web Editor NEW

This project forked from abiosoft/colima

0.0 0.0 0.0 2.51 MB

Container runtimes on macOS (and Linux) with minimal setup

License: MIT License

Shell 1.37% Go 95.89% Nix 0.95% Makefile 0.74% Dockerfile 1.06%

colima's Introduction

colima-logo

Colima - container runtimes on macOS (and Linux) with minimal setup.

Go Integration

Demonstration

Features

  • Intel and M1 Macs support
  • Simple CLI interface
  • Docker and Containerd support
  • Port Forwarding
  • Volume mounts
  • Kubernetes
  • Multiple instances

Getting Started

Installation

Colima is available on Homebrew, MacPorts, and Nix. Check here for other installation options.

# Homebrew
brew install colima

# MacPorts
sudo port install colima

# Nix
nix-env -iA nixpkgs.colima

Or stay on the bleeding edge (only Homebrew)

brew install --HEAD colima

Upgrading

If upgrading from v0.4.6 or lower, it is required to start afresh by deleting existing instance.

colima delete # delete existing instance
colima start

Usage

Start Colima with defaults

colima start

For more usage options

colima --help
colima start --help

Or use a config file

colima start --edit

Runtimes

On initial startup, Colima initiates with a user specified runtime that defaults to Docker.

Docker

Docker client is required for Docker runtime. Installable with brew brew install docker.

You can use the docker client on macOS after colima start with no additional setup.

Containerd

colima start --runtime containerd starts and setup Containerd. You can use colima nerdctl to interact with Containerd using nerdctl.

It is recommended to run colima nerdctl install to install nerdctl alias script in $PATH.

Kubernetes

kubectl is required for Kubernetes. Installable with brew install kubectl.

To enable Kubernetes, start Colima with --kubernetes flag.

colima start --kubernetes

Interacting with Image Registry

For Docker runtime, images built or pulled with Docker are accessible to Kubernetes.

For Containerd runtime, images built or pulled in the k8s.io namespace are accessible to Kubernetes.

Customizing the VM

The default VM created by Colima has 2 CPUs, 2GiB memory and 60GiB storage.

The VM can be customized either by passing additional flags to colima start. e.g. --cpu, --memory, --disk, --runtime. Or by editing the config file with colima start --edit.

NOTE: disk size cannot be changed after the VM is created.

Customization Examples

  • create VM with 1CPU, 2GiB memory and 10GiB storage.

    colima start --cpu 1 --memory 2 --disk 10
    
  • modify an existing VM to 4CPUs and 8GiB memory.

    colima stop
    colima start --cpu 4 --memory 8
    
  • create VM with Rosetta 2 emulation (for MacOS Ventura)

    colima start --arch aarch64 --vm-type=vz --vz-rosetta
    

Project Goal

To provide container runtimes on macOS with minimal setup.

What is with the name?

Colima means Containers in Lima.

Since Lima is aka Linux on Mac. By transitivity, Colima can also mean Containers on Linux on Mac.

Troubleshooting and FAQs

Check here for Frequently Asked Questions.

Help Wanted

  • Documentation (wiki pages)

License

MIT

Sponsoring the Project

If you (or your company) are benefiting from the project and would like to support the contributors, kindly support the project.

Buy Me A Coffee

colima's People

Contributors

aaschmid avatar abiosoft avatar akihirosuda avatar alexhermida avatar amar1729 avatar artygus avatar austinvazquez avatar bertbaron avatar computeralex92 avatar developer-guy avatar droctothorpe avatar fabianponce avatar georgettica avatar hftsin avatar jsoref avatar k1low avatar kdambekalns avatar kensipe avatar kouk avatar kubukoz avatar matejsp avatar milas avatar misberner avatar moolex avatar nicholasdille avatar nicoandresr avatar pmalek avatar rfay avatar sbkg0002 avatar voxpelli avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.