在Docker中build立和部署在Ubuntu中

我们正在考虑使用docker进行构build(主要是golang和C ++),但是我们的产品没有运行docker,它运行的是Ubuntu 16。

我们正在考虑在docker中编译这个二进制文件,并在生产环境中进行部署。

这是可取的吗? 我们应该注意哪些问题?

问候,

沙迪亚

Docker对你的二进制文件的编译过程几乎没有影响,它只是帮助你对你使用的工具和库进行沙盒。 对于您的情况,我build议您使用ubuntu:16.04作为您的基本映像,以便与以前的构build环境保持最佳相似度。 首先关心的是你的组织是否信任官方形象,所以这是你应该向高层pipe理层核实的一件事情。

您甚至可以通过在生产环境中使用Docker来获得更稳定的方法,也可以通过构build另一个具有编译后的二进制文件的容器,并使用最less的运行时库。 这将帮助你获得几乎相同的环境,允许不同于Ubuntu 16.04的主机操作系统。 请注意,内核仍然可以不同,所以这是一个需要注意的差异之一。

在生产环境中使用Docker更为广泛,因为您可以直接运行Docker,使用编排工具或使用AWS ECS等服务。