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 镜像:
- GitHub Packages
- 阿里云
- Docker Hub
为了确保获取到最新版本的镜像,请参考以下文档:
2. 使用 Docker-compose
默认启动选择:
docker-compose up -d
项目结构
- 对于
openim-server
和openim-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 镜像:
- GitHub Packages
- 阿里云
- Docker Hub
为了确保获取到最新版本的镜像,请参考以下文档:
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:
- GitHub Packages
- Alibaba Cloud
- Docker Hub
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.md for more details.
License
This project is licensed under the MIT license. For specific content, please check LICENSE.