第75节 OpenIM 离线安装设计
❤️💕💕记录sealos开源项目的学习过程。k8s,docker和云原生的学习。Myblog:http://nsddd.top
[TOC]
离线安装
测试环境
验证离线安装的环境是否正确:
ubuntu@VM-0-14-ubuntu:~/workspaces$ docker version
Client: Docker Engine - Community
Version: 20.10.14
API version: 1.41
Go version: go1.16.15
Git commit: a224086
Built: Thu Mar 24 01:47:57 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.14
API version: 1.41 (minimum version 1.12)
Go version: go1.16.15
Git commit: 87a90dc
Built: Thu Mar 24 01:45:46 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.5.11
GitCommit: 3df54a852345ae127d1fa3092b95168e4a88e2f8
runc:
Version: 1.0.3
GitCommit: v1.0.3-0-gf46b6ba
docker-init:
Version: 0.19.0
GitCommit: de40ad0
ubuntu@VM-0-14-ubuntu:~/workspaces$ docker-compose version
docker-compose version 1.24.1, build 4667896b
docker-py version: 3.7.3
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.1.0j 20 Nov 2018
安装包准备
镜像下载:
wget <http://59.36.173.89:9090/api/v1/buckets/app/objects/download?prefix=ZG9ja2Vy56a757q/5a6J6KOFLnJhcg==>
安装的逻辑: 1. 可以使用 docker 安装 2. 使用 docker-compopse
docker-compose
- 先把im的docker-compose配置注释掉,用docker安装组件。
- 再源码编译im server,启动im
环境准备
mysql
在线的环境准备
docker run -p 3306:3306 --name mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:5.7
安装MongoDB
docker run -p 27017:27017 --name mongo -v /my/own/datadir:/data/db -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=password \\-d mongo:4.0
安装 redis
docker run -p 6379:6379 --name redis -v /my/own/datadir:/data -e REDIS_PASSWORD=password -d redis:5
安装Zookeeper:
docker run -p 2181:2181 --name zookeeper -d wombat/zookeeper
安装Kafka:
docker run -p 9092:9092 --name kafka --link zookeeper -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://:9092 -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_LISTENERS=PLAINTEXT://:9092 -d wurstmeister/kafka
安装Etcd:
docker run -p 2379:2379 -p 2380:2380 --name etcd -d quay.io/coreos/etcd
安装MinIO:
docker run -p 9000:9000 --name minio -v /mnt/data:/data -e "MINIO_ROOT_USER=${USER}" -e "MINIO_ROOT_PASSWORD=${PASSWORD}" -d minio/minio server /data
离线安装中间件
- scp images.tar.gz到服务器, 并且解压文件
tar -zxvf ./images.tar.gz
- 加载每个镜像到docker里面
etcd.tar grafana.tar kafka.tar minio.tar mongo.tar mysql.tar node-exporter.tar promethues.tar redis.tar zookeeper.tar
docker 本地镜像导入:
docker load -i ./etcd.tar;
docker load -i ./grafana.tar;
docker load -i ./kafka.tar;
docker load -i ./minio.tar;
docker load -i ./mongo.tar;
docker load -i ./mysql.tar;
docker load -i ./node-exporter.tar;
docker load -i ./promethues.tar;
docker load -i ./redis.tar;
docker load -i ./zookeeper.tar;
# ---
# OR -
for img in etcd.tar grafana.tar kafka.tar minio.tar mongo.tar mysql.tar node-exporter.tar promethues.tar redis.tar zookeeper.tar;
do
docker load -i ./$img
done
- 验证导入
for image in etcd grafana kafka minio mongo mysql node-exporter prometheus redis zookeeper; do
docker images | grep $image > /dev/null
if [ $? -ne 0 ]; then
echo "$image 镜像导入失败!"
else
echo "$image 镜像导入成功!"
fi
done
编译
https://github.com/OpenIMSDK/Open-IM-Server-Enterprise.git
中间件数据库启动
进入
Open-IM-Server-Enterprise
目录下把docker-compose.yaml
替换成该文档目录下的docker-compose.yaml
git clone -b v2.3.0release <https://github.com/OpenIMSDK/Open-IM-Server-Enterprise>
启动中间件数据库
docker-compose up -d;
启动IM本体
- 启动
./start_all.sh
- 检查是否成功
./check_all.sh
启动其他组件
- 启动其他组件如加密,open-im-enterprise,按之前文档来启停。
音视频二进制
demo 安装下载
Edit on github
直接下载app
https://www.pgyer.com/app/qrcode/OpenIM
可选择替换服务器地址为自己搭建的服务器地址,默认地址为官方服务器地址
END 链接
✴️版权声明 © :本书所有内容遵循CC-BY-SA 3.0协议(署名-相同方式共享)©