107: OpenIM Docker Deployment

OpenIM Docker 提供了一个稳定的 OpenIM 构建和部署解决方案,有非常多的部署方案提供选择,使用 Docker 和 Docker Compose 简化了整个过程。

目录结构

OpenIM Docker Deployment
│
├── 📁 **build/**
│   ├── 📄 Dockerfile-server
│   └── 📄 Dockerfile-chat
│
├── 📁 **openim-server/**
│   ├── 📄 docker-compose.yml
│   └── 📁 **configs/**
│       ├── 📄 server-config.yaml
│       └── 📄 other-config.yaml
│
├── 📁 **openim-chat/**
│   ├── 📄 docker-compose.yml
│   └── 📁 **configs/**
│       ├── 📄 chat-config.yaml
│       └── 📄 other-config.yaml
│
├── 📁 **env/**
│   ├── 📄 openim-server.env
│   └── 📄 openim-chat.env
│
└── 📁 **example/**
    ├── 📄 basic-openim-server-dependency.yml
    ├── 📄 only-openim-server.yml
    └── 📄 full-openim-server-and-chat.yml
  • build/:用于构建 Docker 镜像。
  • openim-server/:用于部署 openim-server。
  • openim-chat/:用于部署 openim-chat。
  • env/:存放 Docker-compose 的环境变量文件。
  • example/:包含各种 Docker-compose 示例。

了解您的要求后,我将在使用方法指南中加入这部分内容。

OpenIM Docker 使用方法

1. 获取镜像

您可以从以下三个源获取 Docker 镜像:

为了确保获取到最新版本的镜像,请参考以下文档:

2. 使用 Docker-compose

默认启动选择:

docker-compose up -d

项目结构

  • 对于 openim-serveropenim-chat 的更改,请分别前往 https://github.com/OpenIMSDK/Open-IM-Server/ 和 https://github.com/OpenIMSDK/chat 进行贡献。
  • 为了同步两个项目的脚本和配置文件,我们使用自动化工具。您只需要确保文件与原始仓库保持同步。
  • 对于环境变量文件和 Docker-compose 示例,请在 env/example/ 目录下进行更改。

定制启动

根据您的需求,选择相应的 Docker-compose 文件进行启动:

  • 基础环境依赖

    docker-compose -f basic-openim-server-dependency.yml up -d
    
  • 仅 OpenIM Server

    docker-compose -f only-openim-server.yml up -d
    
  • OpenIM Server 和 Chat

    docker-compose -f full-openim-server-and-chat.yml up -d
    

测试运行状态

要查看所有服务是否都已启动,可以使用:

docker-compose ps

如果您发现没有启动的容器,您可以查看特定服务的日志以找出原因。例如,查看 OpenIM Server 的日志:

docker-compose logs openim-server

停止

停止 Docker-compose 运行的所有服务:

docker-compose down

如果您使用了特定的 docker-compose 文件,请确保也在 down 命令中指定它。

3. 提示

确保您的 Docker 和 Docker Compose 是最新版本,以确保最佳兼容性和性能。

贡献

我们鼓励社区贡献并完善这个项目。具体的贡献流程,请查看 CONTRIBUTING.md

协议

本项目使用 MIT 协议。详情请查看 LICENSE

OpenIM Docker Deployment

OpenIM Docker 提供了一个稳定的 OpenIM 构建和部署解决方案,有非常多的部署方案提供选择,使用 Docker 和 Docker Compose 简化了整个过程。

目录结构

OpenIM Docker Deployment
│
├── 📁 **build/**
│   ├── 📄 Dockerfile-server
│   └── 📄 Dockerfile-chat
│
├── 📁 **openim-server/**
│   ├── 📄 docker-compose.yml
│   └── 📁 **configs/**
│       ├── 📄 server-config.yaml
│       └── 📄 other-config.yaml
│
├── 📁 **openim-chat/**
│   ├── 📄 docker-compose.yml
│   └── 📁 **configs/**
│       ├── 📄 chat-config.yaml
│       └── 📄 other-config.yaml
│
├── 📁 **env/**
│   ├── 📄 openim-server.env
│   └── 📄 openim-chat.env
│
└── 📁 **example/**
    ├── 📄 basic-openim-server-dependency.yml
    ├── 📄 only-openim-server.yml
    └── 📄 full-openim-server-and-chat.yml
  • build/:用于构建 Docker 镜像。
  • openim-server/:用于部署 openim-server。
  • openim-chat/:用于部署 openim-chat。
  • env/:存放 Docker-compose 的环境变量文件。
  • example/:包含各种 Docker-compose 示例。

了解您的要求后,我将在使用方法指南中加入这部分内容。

OpenIM Docker 使用方法

1. 获取镜像

您可以从以下三个源获取 Docker 镜像:

为了确保获取到最新版本的镜像,请参考以下文档:

2. 使用 Docker-compose

默认启动选择:

docker-compose up -d

定制启动

根据您的需求,选择相应的 Docker-compose 文件进行启动:

  • 基础环境依赖

    docker-compose -f basic-openim-server-dependency.yml up -d
    
  • 仅 OpenIM Server

    docker-compose -f only-openim-server.yml up -d
    
  • OpenIM Server 和 Chat

    docker-compose -f full-openim-server-and-chat.yml up -d
    

测试运行状态

要查看所有服务是否都已启动,可以使用:

docker-compose ps

如果您发现没有启动的容器,您可以查看特定服务的日志以找出原因。例如,查看 OpenIM Server 的日志:

docker-compose logs openim-server

停止

停止 Docker-compose 运行的所有服务:

docker-compose down

如果您使用了特定的 docker-compose 文件,请确保也在 down 命令中指定它。

3. 提示

确保您的 Docker 和 Docker Compose 是最新版本,以确保最佳兼容性和性能。

贡献

我们鼓励社区贡献并完善这个项目。具体的贡献流程,请查看 CONTRIBUTING.md

协议

本项目使用 MIT 协议。详情请查看 LICENSE

OpenIM Docker Deployment Guide

Welcome to the world of OpenIM Docker! To make it easier for you to deploy OpenIM, we offer a stable and convenient Docker solution. With just Docker and Docker Compose, you can easily launch or manage the entire service.

A Glimpse at the Project Structure

│
├── 📁 **build/**
│   ├── 📄 Dockerfile-server
│   └── 📄 Dockerfile-chat
│
├── 📁 **openim-server/**
│   ├── 📄 docker-compose.yml
│   └── 📁 **configs/**
│       ├── 📄 server-config.yaml
│       └── 📄 other-config.yaml
│
├── 📁 **openim-chat/**
│   ├── 📄 docker-compose.yml
│   └── 📁 **configs/**
│       ├── 📄 chat-config.yaml
│       └── 📄 other-config.yaml
│
├── 📁 **env/**
│   ├── 📄 openim-server.env
│   └── 📄 openim-chat.env
│
└── 📁 **example/**
    ├── 📄 basic-openim-server-dependency.yml
    ├── 📄 only-openim-server.yml
    └── 📄 full-openim-server-and-chat.yml
  • build/: Files required for Docker builds reside here.
  • openim-server/: Everything you need to deploy the OpenIM service can be found here.
  • openim-chat/: This is where the OpenIM chat service is deployed.
  • env/: The home of environment variables that Docker-compose needs.
  • example/: Want real Docker-compose examples? Look no further!

Next, we'll delve into the operational guide detailing how to use these files.

How to Use OpenIM Docker

1. Acquire the Image

First, choose one of the following platforms to download the Docker image:

To ensure that you download the latest image, please refer to these two documents:

2. Launch the Service with Docker-compose

One-click launch:

docker-compose up -d

Customized launches based on needs:

  • Launch basic environment only:

    bashCopy code
    docker-compose -f basic-openim-server-dependency.yml up -d
    
  • Launch OpenIM Server only:

    bashCopy code
    docker-compose -f only-openim-server.yml up -d
    
  • Launch both OpenIM Server and chat functionality:

    bashCopy code
    docker-compose -f full-openim-server-and-chat.yml up -d
    

Check operational status

To confirm all services are up and running:

docker-compose ps

If a particular service isn't running, you can inspect its logs, for instance:

docker-compose logs openim-server

Shut down the service

To stop all services run by Docker-compose:

docker-compose down

When using a specific docker-compose file, remember to specify it in the down command.

3. A Little Tip

Please ensure that both your Docker and Docker Compose are updated to the latest versions for the best compatibility and performance.

Contribute Your Strength

If you're interested in our project, we warmly welcome you to participate and contribute to it! Please refer to CONTRIBUTING.mdopen in new window for more details.

License

This project is licensed under the MIT license. For specific content, please check LICENSEopen in new window.