# Docker ## Why use Docker Compose? Using Docker for Hummingbot deployment offers several benefits, such as simplifying the installation process, enabling easy versioning and scaling, and ensuring a consistent and isolated environment for running the bot. This repository aims to help users get started with deploying Hummingbot using Docker by providing different examples that demonstrate how to set up and customize the bot according to their needs. ## Install Docker Compose The examples below use Docker Compose, a tool for defining and running multi-container Docker applications. You can install Docker Compose either via command line or by running an installer. Linux (Ubuntu / Debian): ```bash sudo apt-get update sudo apt-get install docker-compose-plugin ``` Mac (Homebrew): ```bash brew install docker-compose ``` If you want to be guided through the installation, install [Docker Desktop](https://www.docker.com/products/docker-desktop/) includes Docker Compose along with Docker Engine and Docker CLI which are Compose prerequisites: * [Linux](https://docs.docker.com/desktop/install/linux-install/) * [Mac](https://docs.docker.com/desktop/install/mac-install/) * [Windows](https://docs.docker.com/desktop/install/windows-install/) Verify that Docker Compose is installed correctly by checking the version: ```bash docker compose version ``` The output should be: `Docker Compose version v2.17.2` or similar. Ensure that you are using Docker Compose V2, as V1 is deprecated. ## Useful Docker Commands Use the commands below or use the Docker Desktop application to manage your containers: ### Create the Compose project ``` docker compose up -d ``` ### Stop the Compose project ``` docker compose down ``` ### Update the Compose project for the latest images ``` docker compose up --force-recreate --build -d ``` ### Give all users read/write permissions to local files ``` sudo chmod -R a+rw ``` ### Attach to the container ``` docker attach ``` ### Detach from the container and return to command line Press keys Ctrl + P then Ctrl + Q ### Update the container to the latest image ``` docker compose up --force-recreate --build -d ``` ### List all containers ``` docker ps -a ``` ### Stop a container ``` docker stop ``` ### Remove a container ``` docker rm ```