容器部署

    跨平台交叉编译是golang的特点之一,可以非常方便地编译出我们需要的目标服务器平台的版本,而且是静态编译,非常容易地解决了运行依赖问题。

    使用以下指令可以静态编译Linux平台amd64架构的可执行文件:

    生成的main便是我们静态编译的,可部署于Linux amd64上的可执行文件。

    一个参考的Dockerfile文件如下:

    其中,我们的基础镜像使用了loads/alpine:3.8,中国国内的用户推荐使用该基础镜像,基础镜像的Dockerfile地址:https://github.com/johngcn/dockerfiles ,仓库地址:

    随后使用 “docker build -t main .“ 指令编译生成名为maindocker镜像。

    需要注意的是,在某些项目的架构设计中,静态文件配置文件可能不会随着镜像进行编译发布,而是分开进行管理和发布。

    因此对于以上示例的Dockerfile的使用,仅作参考,根据实际情况请进行必要的调整。

    使用以下指令可直接运行刚才编译成的镜像:

    容器的分发可以使用docker官方的平台:https://hub.docker.com/ ,国内也可以考虑使用阿里云: 。

    在企业级生产环境中,docker容器往往需要结合或者docker swarm容器编排工具一起使用。容器编排涉及到的内容比较多,感兴趣的同学可以参考以下资料: