Define and run multi-container applications with Docker

Overview

Docker Compose

Build Status

Docker Compose

Docker Compose is a tool for running multi-container applications on Docker defined using the Compose file format. A Compose file is used to define how the one or more containers that make up your application are configured. Once you have a Compose file, you can create and start your application with a single command: docker-compose up.

Compose files can be used to deploy applications locally, or to the cloud on Amazon ECS or Microsoft ACI using the Docker CLI. You can read more about how to do this:

Where to get Docker Compose

Windows and macOS

Docker Compose is included in Docker Desktop for Windows and macOS.

Linux

You can download Docker Compose binaries from the release page on this repository.

Using pip

If your platform is not supported, you can download Docker Compose using pip:

pip install docker-compose

Note: Docker Compose requires Python 3.6 or later.

Quick Start

Using Docker Compose is basically a three-step process:

  1. Define your app's environment with a Dockerfile so it can be reproduced anywhere.
  2. Define the services that make up your app in docker-compose.yml so they can be run together in an isolated environment.
  3. Lastly, run docker-compose up and Compose will start and run your entire app.

A Compose file looks like this:

services:
  web:
    build: .
    ports:
      - "5000:5000"
    volumes:
      - .:/code
  redis:
    image: redis

You can find examples of Compose applications in our Awesome Compose repository.

For more information about the Compose format, see the Compose file reference.

Contributing

Want to help develop Docker Compose? Check out our contributing documentation.

If you find an issue, please report it on the issue tracker.

Releasing

Releases are built by maintainers, following an outline of the release process.

Comments
  • Proposal: make project-name persistent.

    Proposal: make project-name persistent.

    By default, Compose bases the project name on basename of the directory compose commands are run from. The project name can be overridden either by passing a -p / --project-name option for each command or setting the COMPOSE_PROJECT_NAME environment variable.

    Using the --project-name option for each command is error-prone and for- getting to pass the option when doing (for example) docker-compose up, will result in another instance of the project being created under a different name or even containers of a different project being replaced.

    Using the COMPOSE_PROJECT_NAME environment variable is not useful when dealing with multiple projects and can cause similar problems.

    Proposal: make project-name persistent

    To solve these problems, compose will save the name of a project to a file in the build-context when the project is first started / built.

    If a project-file is found, compose automatically uses the project-name from that file and throw an exception if the user is trying to override the project-name using the --project-name option.

    File location

    To allow further expansion of options, compose creates a hidden .docker-compose directory in the "root" directory of the build-context. Inside that directory, a project-name file is created, containing just the name of the project;

    tree -a
    .
    ├── .docker-compose
    │   └── project-name
    └── docker-compose.yml
    

    Request for comment

    There are a couple of things left to be discussed;

    • Should the configuration-file be created automatically or should this be an explicit action by the user (e.g. docker-compose init --project-name=foobar)
    • Should a command be added to remove the configuration file(s)? (e.g. docker-compose destroy)
    • Compose allows specifying an alternative compose-file (--file) should the project-name also be applied to those? Should each compose-file get its own configuration?

    And, in a wider scope;

    • Is the project-name actually important? If not, compose could create a random project-name and store that inside the configuration. This would greatly reduce the risk of conflicting names with other projects running on the same server.

    edit: renamed Fig to Compose

    kind/feature status/0-triage 
    opened by thaJeztah 317
  • Is there a way to delay container startup to support dependant services with a longer startup time

    Is there a way to delay container startup to support dependant services with a longer startup time

    I have a MySQL container that takes a little time to start up as it needs to import data.

    I have an Alfresco container that depends upon the MySQL container.

    At the moment, when I use fig, the Alfresco service inside the Alfresco container fails when it attempts to connect to the MySQL container... ostensibly because the MySQL service is not yet listening.

    Is there a way to handle this kind of issue in Fig?

    opened by dancrumb 316
  • "driver failed programming external connectivity on endpoint" (1.7.0-rc1)

    I'm pretty sure this was working on docker-compose 1.7.0-rc1 before I installed the latest Docker for Mac beta, which upgraded to docker 1.11.0-rc3. I'm trying to get the socat service to run on port 172.17.0.1:8123, so that it's available to docker builds. My real yml uses an environment variable for the IP address, but it happens even when hardcoded.

    ERROR: for socat_httpcache  driver failed programming external connectivity on endpoint test_socat_httpcache_1 (5d973ed559d63a5561b715248f797a336915a44960b5e32e622ac8349b16e5d2): Error starting userland proxy: failed to bind port: Unix.Unix_error(Unix.EADDRNOTAVAIL, "bind", "")
    
    version: '2'
    services:
      httpcache:
        restart: always
        image: clue/polipo
        command: proxyAddress=0.0.0.0 allowedClients=0.0.0.0/0 disableIndexing=false disableServersList=false
        mem_limit: 500m
        memswap_limit: 500m
        volumes:
          - /var/cache/polipo
    
      socat_httpcache:
        restart: always
        hostname: POLIPO1
        image: bobrik/socat
        mem_limit: 50m
        command: TCP-LISTEN:8123,fork,reuseaddr TCP:httpcache:8123
        depends_on:
          - httpcache
        ports:
          - "172.17.0.1:8123:8123"
    

    verbose.txt

    area/networking 
    opened by jamshid 305
  • Define services which are not started by default

    Define services which are not started by default

    Users quite often define maintenance scripts, test suites, debugging systems in their Compose files which they don't want to run when they do docker-compose up.

    There should be some way of defining what services are started by default, but can be still be run manually by doing docker-compose up servicename or docker-compose run servicename ....

    Possible solutions

    1. Recommend users to use a separate Compose file
    2. Add an option to services to make them not start by default
    3. Add a top-level configuration option to define the default services
    4. Add a concept of a thing like a service, but is just for one-off commands ("scripts", "tasks", etc...)

    (Please suggest others if you have ideas.)

    Data points:

    • https://github.com/docker/compose/issues/697
    • https://github.com/docker/compose/issues/912
    • https://github.com/docker/compose/issues/942
    • https://github.com/docker/compose/issues/1439
    • https://github.com/docker/compose/issues/1547
    • #542
    • "test" service in https://github.com/heroku/logplex/blob/master/docker-compose.yml
    • [email protected]: "I've got a little helper service in my compose yaml that injects a bunch of stuff into redis for hipache, which of course exits when it is done. Can't use compose up w/o the -d"~~ this is fixed now that we don't exit from compose up until all services have exited.
    kind/feature area/run 
    opened by bfirsh 244
  • ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

    ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

    I know that there is another issue of the same type but the other issue is closed and I tried all the solutions proposed but with no effect.

    still not working:

    [email protected]:~/wordpress-docker$ sudo docker -v
    Docker version 1.12.3, build 6b644ec
    [email protected]:~/wordpress-docker$ sudo docker-compose up
    ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
    
    If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
    [email protected]:~/wordpress-docker$ sudo service docker start
    start: Job is already running: docker
    [email protected]:~/wordpress-docker$ echo $DOCKER_HOST
    
    [email protected]:~/wordpress-docker$ DOCKER_HOST=127.0.0.1
    [email protected]:~/wordpress-docker$ echo $DOCKER_HOST
    127.0.0.1
    [email protected]:~/wordpress-docker$ sudo docker-compose up
    ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
    
    If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
    [email protected]:~/wordpress-docker$ unset DOCKER_HOST
    m[email protected]:~/wordpress-docker$ sudo docker-compose up
    ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
    
    If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
    [email protected]:~/wordpress-docker$ groups matteo
    matteo : matteo adm cdrom sudo dip plugdev sambashare lpadmin docker
    
    
    • I'm part of the docker group

    • I'm using also sudo

    • The process is up

    • The DOCKER_HOST variable is unset or 127.0.0.1

    • Reconnected the user

    • Restarted the server

    I think that I've tried all the possible configurations am I right?


    Specs:

    • OS: Ubuntu 14.04.04 on Virtualbox on Windows 10 Home.

    • Docker version 1.12.3, build 6b644ec


    Thank You!

    kind/question 
    opened by matteo-bombelli 225
  • Support  for NVIDIA GPUs under Docker Compose

    Support for NVIDIA GPUs under Docker Compose

    Under Docker 19.03.0 Beta 2, support for NVIDIA GPU has been introduced in the form of new CLI API --gpus. https://github.com/docker/cli/pull/1714 talk about this enablement.

    Now one can simply pass --gpus option for GPU-accelerated Docker based application.

    $ docker run -it --rm --gpus all ubuntu nvidia-smi
    Unable to find image 'ubuntu:latest' locally
    latest: Pulling from library/ubuntu
    f476d66f5408: Pull complete 
    8882c27f669e: Pull complete 
    d9af21273955: Pull complete 
    f5029279ec12: Pull complete 
    Digest: sha256:d26d529daa4d8567167181d9d569f2a85da3c5ecaf539cace2c6223355d69981
    Status: Downloaded newer image for ubuntu:latest
    Tue May  7 15:52:15 2019       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 390.116                Driver Version: 390.116                   |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla P4            Off  | 00000000:00:04.0 Off |                    0 |
    | N/A   39C    P0    22W /  75W |      0MiB /  7611MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    :~$ 
    

    As of today, Compose doesn't support this. This is a feature request for enabling Compose to support for NVIDIA GPU.

    kind/enhancement status/0-triage 
    opened by collabnix 196
  • SSL error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

    SSL error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

    Got this error on both machines almost at the same time with docker-compose and lately with fig after rollback. A few search results points to python/openssl issue but i simple can't figure out where to dig to. Python/openssl comes from homebrew.

    Boot2Docker-cli version: v1.4.1 Git commit: 43241cb

    Client version: 1.4.1 Client API version: 1.16 Go version (client): go1.4 Git commit (client): 5bc2ff8 OS/Arch (client): darwin/amd64 Server version: 1.4.1 Server API version: 1.16 Go version (server): go1.3.3 Git commit (server): 5bc2ff8

    area/packaging 
    opened by gkostyanikov 183
  • docker-compose copy file or directory to container

    docker-compose copy file or directory to container

    we miss a possibility to copy a file or directory using docker-compose. I find this really useful. Please check many +1 in premature closed https://github.com/docker/compose/issues/2105

    kind/feature status/0-triage 
    opened by ghost 160
  • Feature: Ability to clear log history

    Feature: Ability to clear log history

    A feature I've thought would be useful since originally using Fig, and now Compose would be the ability to clear the log history for Composed-managed containers. Long-running or "chatty" containers can end up with a lot of log noise that may not be wanted.

    I'd expect a command like the following would solve the problem: $ docker-compose logs --clear [service]

    kind/enhancement area/logs 
    opened by djessup 154
  • Add `copy` to the yaml configuration

    Add `copy` to the yaml configuration

    I want to deploy different services using the same image but with a different configuration file. Currently to achieve that I can

    • build as many images that inherit from a common image plus a different COPY in each
    • mount a single file volume

    The first solution isn't feasible and the second it's overkill. I just want to copy a file, not keep it in sync

    Proposed configuration:

    myservice:
        image: foo/bar
        copy:
            - src:dest
    
    area/config 
    opened by riquito 146
  • Feature request: add scale parameter in yml

    Feature request: add scale parameter in yml

    As a user of compose (formally fig), I would like to be able to specify the number of nodes started for any given definition (a.k.a scale) from inside the manifest (yaml configuration file), so that I can ship my cluster definition with my service orchestration.

    E.g. syntax:

    worker:
        build: rqworker
        scale: 5
        links:
           - redis
        command: rqworker -u tcp://redis 
    
    kind/feature area/scale 
    opened by jmmills 146
  • [BUG] <port range>

    [BUG]

    Description

    I have a problem when running a container through docker compose. The docker compose file describes the range of ports 10000-20000 / UDP with this configuration, the container does not start and the server freezes. If you reduce the port range by 10000-11500 then the container start time = 113.6s

    docker-compose.yaml

    version: '3.1'
    
    services:
    
      asterisk:
        image: nkartem/asterisk
        container_name: asterisk
        restart: always
        ports:
          - 5022:5022/udp
    #      - 10000-20000:10000-20000/udp
          - 10000-11500:10000-11500/udp
          - 8088:8088/tcp
        command: systemctl start asterisk
    

    Steps To Reproduce

    No response

    Compose Version

    Docker Compose version v2.14.1
    

    Docker Environment

    Client:
     Context:    default
     Debug Mode: false
     Plugins:
      app: Docker App (Docker Inc., v0.9.1-beta3)
      buildx: Docker Buildx (Docker Inc., v0.9.1-docker)
      compose: Docker Compose (Docker Inc., v2.14.1)
      scan: Docker Scan (Docker Inc., v0.23.0)
    
    Server:
     Containers: 1
      Running: 1
      Paused: 0
      Stopped: 0
     Images: 1
     Server Version: 20.10.22
     Storage Driver: overlay2
      Backing Filesystem: xfs
      Supports d_type: true
      Native Overlay Diff: true
      userxattr: false
     Logging Driver: json-file
     Cgroup Driver: cgroupfs
     Cgroup Version: 1
     Plugins:
      Volume: local
      Network: bridge host ipvlan macvlan null overlay
      Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
     Swarm: inactive
     Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: 9ba4b250366a5ddde94bb7c9d1def331423aa323
     runc version: v1.1.4-0-g5fd4c4d
     init version: de40ad0
     Security Options:
      seccomp
       Profile: default
     Kernel Version: 4.18.0-425.3.1.el8.x86_64
     Operating System: Red Hat Enterprise Linux 8.7 (Ootpa)
     OSType: linux
     Architecture: x86_64
     CPUs: 2
     Total Memory: 3.754GiB
     Name: asterisk
     ID: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxxx:xxxxx:xxxx:xxxx:xxxx
     Docker Root Dir: /var/lib/docker
     Debug Mode: false
     Registry: https://index.docker.io/v1/
     Labels:
     Experimental: false
     Insecure Registries:
      127.0.0.0/8
     Live Restore Enabled: false
    

    Anything else?

    No response

    kind/bug status/0-triage 
    opened by nkartem 0
  • docker-compose logs for a specific instance of a service

    docker-compose logs for a specific instance of a service

    Description

    When we have multiple replicas of a service, it would be useful to be able to query the logs for a specific instance.

    Similar to how we have for docker-compose exec via the index option:

    $ docker-compose exec -ti --index 1 <service name> <command>
    

    I looked at the open issues and couldn't see this.

    I will be happy to work on a PR as well, if this sounds sensible to add.

    Thanks.

    kind/feature 
    opened by asaha123 2
  • [BUG] running docker-compose for latest version returns unexpected character  v2.14.2

    [BUG] running docker-compose for latest version returns unexpected character v2.14.2

    Description

    running docker-compose commands returns the following error for all docker-compose varaitions: unexpected character "-" in variable name near "docker-compose up -d --build"

    Steps To Reproduce

    linux sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose

    Compose Version

    docker compose version
    docker: 'compose' is not a docker command.
    
     docker-compose version
    Docker Compose version v2.14.2
    

    Docker Environment

    Client:
     Context:    default
     Debug Mode: false
    
    Server:
     Containers: 3
      Running: 3
      Paused: 0
      Stopped: 0
     Images: 11
     Server Version: 20.10.17
     Storage Driver: overlay2
      Backing Filesystem: xfs
      Supports d_type: true
      Native Overlay Diff: true
      userxattr: false
     Logging Driver: json-file
     Cgroup Driver: cgroupfs
     Cgroup Version: 1
     Plugins:
      Volume: local
      Network: bridge host ipvlan macvlan null overlay
      Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
     Swarm: inactive
     Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
     runc version: 1e7bb5b773162b57333d57f612fd72e3f8612d94
     init version: de40ad0
     Security Options:
      seccomp
       Profile: default
     Kernel Version: 5.10.135-122.509.amzn2.x86_64
     Operating System: Amazon Linux 2
     OSType: linux
     Architecture: x86_64
     CPUs: 2
     Total Memory: 3.829GiB
     Name: ip-172-31-32-234.eu-central-1.compute.internal
     ID: 3JDY:TV7W:IZTH:DJCU:YMEE:NWC7:B5AC:MDSY:U4XL:2UXK:ZZ2M:KEII
     Docker Root Dir: /var/lib/docker
     Debug Mode: false
     Registry: https://index.docker.io/v1/
     Labels:
     Experimental: false
     Insecure Registries:
      127.0.0.0/8
     Live Restore Enabled: false
    

    Anything else?

    No response

    kind/bug status/0-triage 
    opened by ayzeenm 3
  • Fix Cucumber 🥒 tests

    Fix Cucumber 🥒 tests

    Signed-off-by: Laura Brehm [email protected]

    What I did

    Update Cucumber tests expected compose ps output to match new changes.

    (fixing these so I can make a follow up PR to add a GHA for 🥒 tests)

    Run them with go test -v ./e2e

    Related issue

    (not mandatory) A picture of a cute animal, if possible in relation to what you did

    maxresdefault

    opened by laurazard 1
  • [DNM] update buildx to v0.10.0-rc2

    [DNM] update buildx to v0.10.0-rc2

    Just testing latest rc with new builder pkg.

    What I did

    Related issue

    (not mandatory) A picture of a cute animal, if possible in relation to what you did

    opened by crazy-max 1
  • [BUG] Not all attached containers are stopped on CTRL + C

    [BUG] Not all attached containers are stopped on CTRL + C

    Description

    Compose doesn't stop attached containers on CTRL + C.

    Steps To Reproduce

    1. Define 3 services in the docker-compose.yaml with depends_on key. (example below)
    2. Up only php container with --attach-dependencies eg. docker compose up php --attach-dependencies (not in daemon mode)
    3. Click on Ctrl + C
    4. Docker stops only php container but others are still in the running state
    version: "3.4"
    
    services:
        php:
            image: php:8.1.12-fpm-alpine3.16
            depends_on:
                - mailhog
    
        memcache:
            image: memcached:1.6-alpine
            restart: on-failure
    
        mailhog:
            image: mailhog/mailhog
            ports:
                - "127.0.0.1:8025:8025"
    

    Compose Version

    Docker Compose version v2.14.2
    

    Docker Environment

    Client:
     Context:    default
     Debug Mode: false
     Plugins:
      compose: Docker Compose (Docker Inc., v2.14.2)
    
    Server:
     Containers: 19
      Running: 0
      Paused: 0
      Stopped: 19
     Images: 38
     Server Version: 20.10.12
     Storage Driver: overlay2
      Backing Filesystem: extfs
      Supports d_type: true
      Native Overlay Diff: true
      userxattr: false
     Logging Driver: json-file
     Cgroup Driver: systemd
     Cgroup Version: 2
     Plugins:
      Volume: local
      Network: bridge host ipvlan macvlan null overlay
      Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
     Swarm: inactive
     Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: 
     runc version: 
     init version: 
     Security Options:
      apparmor
      seccomp
       Profile: default
      cgroupns
     Kernel Version: 5.15.0-56-generic
     Operating System: Ubuntu 22.04.1 LTS
     OSType: linux
     Architecture: x86_64
     CPUs: 8
     Total Memory: 23.41GiB
     Name: sid
     ID: 6F76:W6AV:4SUL:T4LA:ESVC:WGOU:WF4D:6TCP:O2SY:HF55:BH5J:II2H
     Docker Root Dir: /var/lib/docker
     Debug Mode: false
     Registry: https://index.docker.io/v1/
     Labels:
     Experimental: false
     Insecure Registries:
      127.0.0.0/8
     Live Restore Enabled: false
    

    Anything else?

    No response

    kind/bug status/0-triage 
    opened by sidz 0
Releases(v2.14.2)
Owner
Docker
Docker provides a simple and powerful developer experience, workflows and collaboration for creating applications.
Docker
Blazingly-fast :rocket:, rock-solid, local application development :arrow_right: with Kubernetes.

Gefyra Gefyra gives Kubernetes-("cloud-native")-developers a completely new way of writing and testing their applications. Over are the times of custo

Michael Schilonka 352 Dec 26, 2022
Cado Response Integration with Amazon GuardDuty using AWS Lambda

Cado Response Integration with Amazon GuardDuty using AWS Lambda This repository contains a simple example where: An alert is triggered by GuardDuty T

Cado Security 4 Mar 02, 2022
Chef-like functionality for Fabric

/ / ___ ___ ___ ___ | | )| |___ | | )|___) |__ |__/ | __/ | | / |__ -- Chef-like functionality for Fabric About Fabric i

Sébastien Pierre 1.3k Dec 21, 2022
Tiny Git is a simplified version of Git with only the basic functionalities to gain better understanding of git internals.

Tiny Git is a simplified version of Git with only the basic functionalities to gain better understanding of git internals. Implemented Functi

Ahmed Ayman 2 Oct 15, 2021
Deploying a production-ready Django project using Nginx and Gunicorn

django-nginx-gunicorn This project is for deploying a production-ready Django project using Nginx and Gunicorn. Running a local server of Django is no

Arash Sayareh 8 Jul 03, 2022
docker-compose工程部署时的辅助脚本

okta-cmd Introduction docker-compose 辅助脚本

完美风暴666 4 Dec 09, 2021
Jenkins-AWS-CICD - Implement Jenkins CI/CD with AWS CodeBuild and AWS CodeDeploy, build a python flask web application.

Jenkins-AWS-CICD - Implement Jenkins CI/CD with AWS CodeBuild and AWS CodeDeploy, build a python flask web application.

Ning 1 Jan 01, 2022
Play Wordle from any Kubernetes cluster.

wordle-operator 🟩 ⬛ 🟩 🟨 ⬛ Play Wordle from any Kubernetes cluster. Using the power of CustomResourceDefinitions and Kubernetes Operators, now you c

Lucas Melin 1 Jan 15, 2022
Bitnami Docker Image for Python using snapshots for the system packages repositories

Python Snapshot packaged by Bitnami What is Python Snapshot? Python is a programming language that lets you work quickly and integrate systems more ef

Bitnami 1 Jan 13, 2022
Tools and Docker images to make a fast Ruby on Rails development environment

Tools and Docker images to make a fast Ruby on Rails development environment. With the production templates, moving from development to production will be seamless.

1 Nov 13, 2022
MicroK8s is a small, fast, single-package Kubernetes for developers, IoT and edge.

MicroK8s The smallest, fastest Kubernetes Single-package fully conformant lightweight Kubernetes that works on 42 flavours of Linux. Perfect for: Deve

Ubuntu 7.1k Jan 08, 2023
Ralph is the CMDB / Asset Management system for data center and back office hardware.

Ralph Ralph is full-featured Asset Management, DCIM and CMDB system for data centers and back offices. Features: keep track of assets purchases and th

Allegro Tech 1.9k Jan 01, 2023
MLops tools review for execution on multiple cluster types: slurm, kubernetes, dask...

MLops tools review focused on execution using multiple cluster types: slurm, kubernetes, dask...

4 Nov 30, 2022
Visual disk-usage analyser for docker images

whaler What? A command-line tool for visually investigating the disk usage of docker images Why? Large images are slow to move and expensive to store.

Treebeard Technologies 194 Sep 01, 2022
Simple, Pythonic remote execution and deployment.

Welcome to Fabric! Fabric is a high level Python (2.7, 3.4+) library designed to execute shell commands remotely over SSH, yielding useful Python obje

Fabric 13.8k Jan 06, 2023
The leading native Python SSHv2 protocol library.

Paramiko Paramiko: Python SSH module Copyright: Copyright (c) 2009 Robey Pointer 8.1k Jan 04, 2023

A Python library for the Docker Engine API

Docker SDK for Python A Python library for the Docker Engine API. It lets you do anything the docker command does, but from within Python apps – run c

Docker 6.1k Dec 31, 2022
Run your clouds in RAID.

UniKlaud Run your clouds in RAID Table of Contents About The Project Built With Getting Started Installation Usage Roadmap Contributing License Contac

3 Jan 16, 2022
Build Netbox as a Docker container

netbox-docker The Github repository houses the components needed to build Netbox as a Docker container. Images are built using this code and are relea

Farshad Nick 1 Dec 18, 2021
Supervisor process control system for UNIX

Supervisor Supervisor is a client/server system that allows its users to control a number of processes on UNIX-like operating systems. Supported Platf

Supervisor 7.6k Dec 31, 2022