全栈工程师-咨询电话:15675178605 (微信同号)

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在线客服系统就成功的部署到你自己的服务器上了。