Coder Social home page Coder Social logo

docker-compose's Introduction

Deployment Instructions

Prerequisites

For Linux

  1. Install docker
  2. Install docker-compose

For Docker on Mac/Windows

  1. Install docker-desktop

Limitations

  1. Requires external network access (If not available, you'll need to use offline images).
  2. This deployment method supports single-node deployment only (but can have multiple nodes on a single machine).

Installation Steps

  1. Place this directory (docker-compose) under the deployment directory, for example: ${PWD}/docker-compose.

  2. Perform the installation:

    a. Modify MySQL password

    cd ~/docker-compose
    # Use the `sed` command to modify the MySQL password
    # For Linux systems:
    sed -i 's/MYSQL_PASSWORD=""/MYSQL_PASSWORD="ChangeThisPassword"/g' .env
    
    # For Mac systems:
    sed -i '' 's/MYSQL_PASSWORD=""/MYSQL_PASSWORD="ChangeThisPassword"/g' .env
    # You can also manually edit the `.env` file to modify the MySQL password and other related configurations
    vim .env

    b. Start the installation

    docker compose up -d

    c. Wait a moment(about 1~4min) and access the service. Open the following address in your web browser: http://127.0.0.1:8080

    d. Check the installation result

    docker compose ps
    

    e. View service logs

    docker compose logs -f
    

    f. Uninstall/clean up

    # clean the services
    docker compose down
    # clean the services and volume
    docker compose down -v

Custom Configurations

In the .env file, you can define some configurations that can be modified during deployment.

  1. Customize external access ports:
    ...
    # Web page port
    KETADB_WEB_PORT=8080
    # Cluster discovery port (this port needs to be opened for other machines when assembling multiple nodes)
    KETADB_UNICAST_PORT=9300
    # keta-agent connection port
    KETADB_TANSPORT_PORT=9400
    # SPL search RPC port
    KETADB_SEARCH_RPC_PORT=9500
    ...
  2. Others:
        
    # Docker repository address
    REPOSITORY=docker.io
    
    # Docker image addresses
    KETADB_IMAGE_IMAGE=ketaops/ketadb
    KETA_ML_IMAGE_IMAGE=ketaops/ketadb
    
    # Docker image tags
    KETADB_IMAGE_TAG=latest
    KETA_ML_IMAGE_TAG=latest
    
    # JVM OPTIONS
    JVM_OPTIONS="-Xmx2g -Xms2g"
    
    # MYSQL OPTIONS
    MYSQL_USER=keta
    MYSQL_DATABASE=ketadb
    MYSQL_PASSWORD=""  # This password needs to be set
    MYSQL_RANDOM_ROOT_PASSWORD="true"

Other Notes

  • In the mysql configuration, a random password is generated for the root user of MySQL. You can use the command docker-compose logs mysql | grep "GENERATED ROOT PASSWORD" to check it.
  • Configurations for ketadb and keta-ml are injected via environment variables. Please refer to [Parameter Descriptions](todo: ketadb and ketaml parameter descriptions).
  • The current deployment method is for single-node deployment and is only recommended for testing and validation. For production deployment, please refer to k8s Deployment.
  • Regarding the image repository, you can refer to Docker Hub.
  • Currently, keta-ml does not have an arm64 image, so the AMD64 system platform is specified. This should work fine on Mac M1 chip machines. Other ARM architecture machines cannot currently deploy keta-ml. You can remove the keta-ml block from the docker-compose.yml file for those machines.

docker-compose's People

Contributors

wangtuo 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.