目录
1.软件依赖
操作系统
Linux
- Ubuntu 16.04+
- CentOS 7+
- 不同操作系统中运行Docker不同版本的兼容性问题:https://success.docker.com/article/compatibility-matrix.
Windows
- Windows Server 2016 +
Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
举个例子:在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。
Docker就是类似的理念。
- 安装Docker:
文档:https://docs.docker.com/engine/install/ubuntu/
安装成功之后执行以下两个命令
命令 | 含义 |
---|---|
sudo groupadd docker |
为Docker创建group |
sudo usermod -aG docker $USER |
将登录者加入到Docker的group里 |
Docker Compose
定义和运行多个 Docker 容器的应用
Docker Compose 是一个工具,这个工具可以通过yml文件定义多容器的Docker应用
通过一条命令就可以根据yml文件的定义去创建或者管理这多个容器。
- 安装Docker Compose :
文档:https://docs.docker.com/compose/install/
安装完成之后验证是否安装成功
命令 | 支持的版本 |
---|---|
docker --version |
1.13.0+ |
docker-compose --version |
1.10+ |
Git
- 安装Git以及常用工具
命令 | 含义 |
---|---|
sudo apt-get update |
更新 |
sudo apt-get install wget git curl vim -y |
安装一些常用工具 |
Java JDK-Amazon Corretto
- 安装Java JDK-Amazon Corretto
文档:https://aws.amazon.com/cn/corretto/ - 设置环境变量
名称 | 值 |
---|---|
export JAVA_HOME | /usr/lib/jvm/java-1.8.0-amazon-corretto |
export PATH | $PATH:$JAVA_HOME/bin |
安装完成之后验证是否安装成功
命令 | 支持的版本 |
---|---|
java -version |
1.8+ |
Maven
- 安装Maven
文档:https://maven.apache.org/install.html - 设置环境变量
名称 | 值 |
---|---|
export MAVEN_HOME | /opt/maven |
export PATH | $PATH:$MAVEN_HOME/bin |
安装完成之后验证是否安装成功
命令 | 支持的版本 |
---|---|
mvn --version |
3.x |
2.源码构建
官方代码库及镜像
名称 | 地址 |
---|---|
Github | https://github.com/chatopera/cosin |
Dockerhub | https://hub.docker.com/r/chatopera/contact-center |
源码与镜像的关联
下载源码
-
使用Git Clone
git clone https://github.com/chatopera/cosin.git
或者git clone git@github.com:chatopera/cosin.git
-
使用浏览器
文件目录
文件 | 含义 |
---|---|
~/cosin | 根目录 |
~/cosin/contact-center | 核心的java应用 |
~/cosin/contact-center/app | java和前端 |
~/cosin/public/plugins | 开源版本的插件 |
~/cosin/public/plugins/chatbot | 机器人客服插件 |
- 安装机器人客服插件
cd ~/cosin
./public/plugins/chatbot/scripts/install.sh
注意:如果是windows系统的话,需要使用Git Bash等Windows下的命令行工具来运行安装脚本
构建镜像
- 生成J2EE应用包
cd ~/cosin/contact-center
./admin/package.sh
执行完之后查看是否生成ls ./app/target/*.war
- 生成Docker镜像
1. cd ~/cosin/contact-center
2. PACKAGE_VERSION='git rev-parse --short HEAD' # 当前源码版本
3. docker build --build-arg VCS_REF=$PACKAGE_VERSION \
--build-arg APPLICATION_BUILD_DATESTR=`date "+%Y%m%d.%H%M%S"` \
--build-arg APPLICATION_CUSTOMER_ENTITY=OSC \
--no-cache \
--force-rm=true --tag chatopera/contact-center:$PACKAGE一VERSION .
成功之后会看到
发布镜像
- 发布到DockerHub
docker push chatopera/contact-center:295dc27 //chatopera可以换成自己需要的名字
- 本地保存和加载
保存:docker save chatopera/contact-center:295dc27 > IMAGE.tgz
加载:docker load < IMAGE.tgz
3.配置及运行
docker-compose.yml
春松客服的容器编排
vim docker-compose.yml :描述文件,需要把此文件中services 标签下的contact-center服务中的image改成自己的镜像名称或ID
vim .env :此文件需要与docker-compose.yml在同级目录下,此文件中设置的环境变量会覆盖docker-compose.yml中的环境变量
启动服务
docker-compose up –d contact-center //运行
docker-compose logs –f contact-center //查看日志
docker-compose ps //查看各个容器状态
停止服务
docker-compose down //停止
4. 服务访问
在项目启动完成之后,使用浏览器访问 http://localhost:8035 (CC_WEB_PORT没有变更的情况下默认为 8035)
默认管理员账号: admin 密码: admin1234
5.延伸阅读
春松客服开源版的HTTPS部署
春松客服测试访客端
春松客服的开发环境