前言:最近开发了钉钉机器人的第二版,第二版主要开发的是企业内部机器人,只有企业内的成员才可以使用。 不同于第一版,是自定义机器人,所有人可能使用。企业内部机器人的权限比自定义机器人的权限要多很多,所以功能也会多很多,后续的开发肯定是基于企业内部机器人的开发。
想着把企业内部机器人和自定义分开,分别部署,于是有了这篇文章
部署思路:dockerfile文件构造docker镜像,docker镜像构造容器,容器和阿里云服务器挂载,容器内部安装git,拉去Coding代码,然后采取端口映射方式部署。
具体过程:
一:Dockerfile文件,直接找的另外一位同学的,知识的力量在于传承,有时需要站在巨人的肩膀上面开发。
FROM centos:7.9.2009
FROM centos:7.9.2009
ENV MYPATH /usr/local/goproject
WORKDIR $MYPATH
RUN yum -y update \
&& yum -y install vim \
&& yum -y install git \
&& yum install -y gcc-c++ \
&& yum -y install wget \
&& wget -P /root/ https://studygolang.com/dl/golang/go1.17.11.linux-amd64.tar.gz \
&& tar -zxvf /root/go1.17.11.linux-amd64.tar.gz -C /usr/local \
&& echo export PATH=$PATH:/usr/local/go/bin >> /etc/profile \
&& source /etc/profile && go version \
&& echo "source /etc/profile" >> /root/.bashrc \
&& go env -w GOPROXY=https://goproxy.cn,direct \
&& go env -w GO111MODULE=on \
————————————————
版权声明:本文为CSDN博主「向神明诉语、」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_52973251/article/details/125596069
二:通过dockerfile构建镜像想要构建镜像,我们得把dockerfile文件拿到服务器里面,Goland提交代码到Coding中,然后打开服务器,进入我们放项目的地方 。
然后把Coding代码克隆下来
如果需要输入账号密码的话,需要输入Coding登录的账号密码,切记不要输错,输错的需要百度解决。
Dockerfile文件已经进入到了服务器,我们在Dockerfile所在的目录下运行dockerfile
生成容器命令如下
docker build -f Dockerfile文件名 -t 镜像名 .
之后静待成功即可,如果这一步出了问题,可以参考作者原文docker后端部署流程及遇到的问题_向神明诉语、的博客-CSDN博客_docker后端部署
三 :启动容器,和服务器挂载
docker run -it -v /usr/local/goproject:/usr/local/goproject -v /etc/localtime:/etc/localtime -p 8888:8888 --cap-add SYS_TIME --name ding_2.0 ding_centos /bin/bash
运行后结果如下即代表成功
进入容器
docker exec -it ding_2.0 /bin/bash
然后找到main.go所在的目录下面,编译main.go文件
go build -o ding main.go
当编译完成之后,我们就可以看到我们的目录下面有一个绿色的ding文件,这个文件就是可以直接运行的二进制文件
现在我们来运行这个文件
nohup /usr/local/goproject/ding_server_2.0/ding> start.log 2>&1 &
查看一下日志文件start.log
然后我们访问服务器的8888端口即可访问成功,记得开放阿里云安全组8888端口。
我们可以在容器里面安装git,然后后面直接在容器里面拉代码即可
yum install git
成功