正常情况下,如果使用编译版客服系统,并不需要配置golang环境,直接把整个程序部署包放到服务器就能使用了。因此,使用docker并没有太便利的地方,也不建议部署在docker里面。但是,如果公司强烈要求部署到docker中,那么可以参考下面的步骤。
当前编译包程序目录内,需要手动创建好install.lock文件,因为如果没有该文件,启动命令会直接退出。
当前编译包程序目录内,需要包含授权码文件,如果没有该文件,登录到后台无法进入对话界面。
上面两个文件都创建以后,可以参考下面的Dockerfile文件进行打包为镜像
FROM ubuntu:latest
RUN mkdir /app
# 将程序复制到容器中
COPY . /app
RUN chmod -R 777 /app
WORKDIR /app
# 开放 8085 端口
EXPOSE 8085
# 执行脚本
CMD ["./kefu", "server", "-p", "8085"]
打包镜像,镜像名称为 kefu
docker build -t kefu .
docker run -v /www/docker/config:/app/config -p 8085:8085 kefu
宿主机目录的 /www/docker/config目录下需要创建好数据库配置文件mysql.json,还有ip库文件
数据库的IP需要是宿主机的IP,不能是127.0.0.1
docker inspect 容器名 ,查看Gateway 看看,比如是 172.18.0.1