Docker容器化部署_详细教程_OctIM在线客服系统
提示与建议:官方推荐用【Ubuntn 20.04 】发行版进行部署安装,下面也是以【Ubuntn 20.04 】进行讲解。一、Linux安装Docker
下面以Linux的Ubuntu发行版为例,讲解docker的安装,其他的linux发行版,windows版基本类似,不太懂的请在网上搜索相关资料。
特别注意:每次连接Linux时 请以root账号登录 ,运行命令【 sudo -i 】以root进行账号
1、首先执行【apt-get update】 更新安装命令。
1、执行命令 【 wget -qO- https://get.docker.com/ | sh 】进行安装
2、安装好后,使用命令【sudo -i】以root账号登录
3、启动docker 后台服务 ,使用命令【sudo service docker start】
4、测试运行hellow-world,使用命令【docker run hello-world】
5、完成Docker的安装。
6、设置开机自动启动 docker 服务 执行命令:【 systemctl enable docker.service 】
二、Docker拉取OctIM在线客服系统的镜像,运行命令直接拉取Docker镜像
1、登录镜像地址,具体的登录密码,请联系Oct全栈工程师,加微信:15675178605
docker login --username=codetiger163 registry.cn-hangzhou.aliyuncs.com
2、执行下列命令,拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/octim/octimsystemcommon_con_mirr:v1
三、创建并运行OctIM在线客服容器
1、执行下面命令,创建并运行IM容器
docker run -d -p 80:80 --name octimsystemcommon_con registry.cn-hangzhou.aliyuncs.com/octim/octimsystemcommon_con_mirr:v1
2、回到宿主机,根目录,并创建如下文件夹,赋值读写权限
mkdir octim
chmod -R 777 octim
3、将IM容器里的octIM系统文件复制出来
docker cp octimsystemcommon_con:/octim/OctImSystemWeb /octim
四、重新创建并运行IM容器并挂载相应的系统文件目录
1、停用全部运行中的容器:
docker stop $(docker ps -q)
2、删除IM容器
docker rm -f octimsystemcommon_con
3、重新创建并运行IM容器并挂载目录
docker run -d -p 80:80 --name octimsystemcommon_con -v /octim/OctImSystemWeb:/octim/OctImSystemWeb registry.cn-hangzhou.aliyuncs.com/octim/octimsystemcommon_con_mirr:v1
4、将IM容器设置为开机启动
docker update --restart=always octimsystemcommon_con
五、解析域名到部署服务器,与访问部署的OctIM在线客服系统
1、将需要使用的域名解析到部署服务器IP上,如:im.opencodetiger.cn,
2、在浏览器中输入解析的域名网址,即可访问了。如:http://im.opencodetiger.cn;
六、Linux安装MS SQLServer 2019 数据库
1、docker拉取 MS SQLServer 2019 数据库容器
docker pull registry.cn-hangzhou.aliyuncs.com/octshop/mssql2019_octshop:v3
2、宿主机中新建存储数据库文件的文件夹
回到宿主机的根目录,并进入文件夹 /octim 中,运行下面命令,创建文件夹OctImSystemDB
mkdir OctImSystemDB
3、运行下面命令为OctImSystemD文件夹赋读写权限,如下:
chmod -R 777 OctImSystemDB
4、创建并运行MS SQLServer 2019数据库docker容器,并挂载数据库文件目录,如下:
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=OpenCodeTiger168_ItHuang" -e "TZ=Asia/Shanghai" -d -p 1433:1433 --name mssql2019_octshop_con -v /OctMallAllDb:/OctMallAllDb --network octshopnet registry.cn-hangzhou.aliyuncs.com/octshop/mssql2019_octshop:v3
特别注意:其中【 SA_PASSWORD=OpenCodeTiger168_ItHuang 】设置的是sa账号的密码,请记住,在站点配置文件中多处要用到的。
5、将Docker设置为开机启动
docker update --restart=always mssql2019_octshop_con
6、请开放部署服务器的端口:1433, 80 端口,否则,无法正常访问。
7、将OctIM的数据库文件( 如:OctImSystemDBCommon.mdf,OctImSystemDBCommon.ldf ) 上传到宿主机文件夹 /octim/OctImSystemDB/ 中。
8、进入到MS SQLServer 2019数据库容器中,
docker exec -it -u root mssql2019_octshop_con /bin/bash
9、为MS SQLServer 2019数据库容器中的数据库文件夹赋读写权限
chmod -R 777 octim
10、附加OctIM系统的数据库文件到数据库中,如下图:
七、配置与修改OctIM在线客服系统的【配置参数】
1、进入到OctIM系统目录:/octim/OctImSystemWeb/SysConfig/
修改配置文件:WebAppConfig.json 将里面的数据连接,修改如:
1)修改IM在线客服系统 数据库连接 121.40.30.127,1954
"OctImSystemDB_ConnectionString": "server=8.218.19.225,1433;uid=sa;pwd=OpenCodegeng;database=OctImSystemDBCommon;Trusted_Connection=true;MultipleActiveResultSets=false;Integrated Security=false;Max Pool Size=5000;Min Pool Size=1;Connect Timeout=30;Connection Lifetime=30;",
2)修改IM在线客服系统域名URL,更改成自己的域名地址
"ImSystemWebDomainURL": "http://tim.opencodetiger.cn",
2、进入到IM系统目录: /octim/OctImSystemWeb/wwwroot/Assets/Js/EnterThird/
修改JS文件:VisitorEnterPC.js 将里面的域名,修改如:
1)IM客服系统 域名路径,更改为自己的域名地址
var mImSystemWebDomainURL = "http://tim.opencodetiger.cn"; //"//im.opencodetiger.cn" http://192.168.3.10:6688
八、使用Https访问OctIM在线客服系统,以及Nginx的配置
1、要使用https方式访问OctIM在线客服系统,那么,首先要申请Nginx的https证书。并将证书放到Nginx容器目录中。
具体的Nginx容器创建安装请参考:https://pc.opencodetiger.com/OctShop/DevelopDoc_120019_690121.html
2、在使用Nginx做跳转时,可以将域名直接跳转到,服务器的IP地址上,但OctIM系统的窗口就不能用80端啦。可以使用5566端。
那么,Nginx的跳转地址可以是,如:127.0.0.1:5566
3、那么,Nginx的配置文件中的配置参数可以设置成如下:
http {
server {
ssl on;
ssl_certificate /opencodetiger/httpsslfile/pc.opencodetiger.cn.pem; #证书路径
ssl_certificate_key /opencodetiger/httpsslfile/pc.opencodetiger.cn.key; #私钥路径
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
listen 443;
server_name im.opencodetiger.cn; #访问的域名 OctImSystemWeb
location / {
proxy_pass http://127.0.0.1:5566; #请求转发地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; #获取客户端真实IP
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header x-client-ip $remote_addr;
proxy_set_header X-Forwarded-Server $host;
}
}
}
4、使用https访问,请开放服务器的443端。否则,用户无法访问。
九、至此,OctIM在线客服系统的Docker私有化部署完成。整个OctIM在线客服系统就成功的部署到你自己的服务器上了。