前言:最近开发了钉钉机器人的第二版,第二版主要开发的是企业内部机器人,只有企业内的成员才可以使用。 不同于第一版,是自定义机器人,所有人可能使用。企业内部机器人的权限比自定义机器人的权限要多很多,所以功能也会多很多,后续的开发肯定是基于企业内部机器人的开发。

想着把企业内部机器人和自定义分开,分别部署,于是有了这篇文章

部署思路: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版权协议,转载请附上原文出处链接及本声明。
原文链接:

二:通过dockerfile构建镜像想要构建镜像,我们得把dockerfile文件拿到服务器里面,Goland提交代码到Coding中,然后打开服务器,进入我们放项目的地方 。

go程序dockerfile docker golang_容器

 然后把Coding代码克隆下来

go程序dockerfile docker golang_机器人_02

 如果需要输入账号密码的话,需要输入Coding登录的账号密码,切记不要输错,输错的需要百度解决。

Dockerfile文件已经进入到了服务器,我们在Dockerfile所在的目录下运行dockerfile

go程序dockerfile docker golang_机器人_03

 生成容器命令如下

docker build -f Dockerfile文件名 -t 镜像名 .

之后静待成功即可,如果这一步出了问题,可以参考作者原文docker后端部署流程及遇到的问题_向神明诉语、的博客-CSDN博客_docker后端部署

go程序dockerfile docker golang_机器人_04

三 :启动容器,和服务器挂载

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

运行后结果如下即代表成功

go程序dockerfile docker golang_机器人_05

 进入容器

docker exec -it  ding_2.0 /bin/bash

然后找到main.go所在的目录下面,编译main.go文件

go build -o ding main.go

当编译完成之后,我们就可以看到我们的目录下面有一个绿色的ding文件,这个文件就是可以直接运行的二进制文件

现在我们来运行这个文件

go程序dockerfile docker golang_docker_06


 

nohup /usr/local/goproject/ding_server_2.0/ding> start.log 2>&1 &

 查看一下日志文件

cat start.log

go程序dockerfile docker golang_容器_07

然后我们访问服务器的8888端口即可访问成功,记得开放阿里云安全组8888端口。

我们可以在容器里面安装git,然后后面直接在容器里面拉代码即可

yum install git

go程序dockerfile docker golang_容器_08

 成功