docker上的图像与系统本身的build立

我正在构build许多应用程序,我想在Docker容器中的远程服务器上运行。 想象一下,我做了一个项目“富”,我已经写了Dockerfile。 我在我的本地主机上build立这个图像,并在容器中运行它。 一切工作正常,我想在远程计算机上运行相同的图像容器。 现在我有下一个方法:

  1. 我可以发布在dockerhub上,但图像不小,我不想每次都等待图像改变(我已经做了一些修复)。 所以对我来说这不是一个好的select。
  2. 我可以在我的生产服务器所在的本地networking上创build私有服务器。 这样做好多了,因为连接速度很高,这是我的独立回购。 但是由于https设置docker的私有存储库真的很困难。 你还需要为每个守护进程添加安全措施。 您必须使用docker客户端,在您自己的系统上构build,标记,login和推送。 太多的步骤…
  3. 我find了另一种方式。 我用tar.gz中的dockerfile存档我的应​​用程序,并将其上传到远程服务器(nexus 3,原始存储库),然后configurationJenkins以下载此存档并运行docker build命令。 这也不是很方便,我每次都要为每个图像创build工作,工作是平等的,但是url和名称是不同的。 我也与jenkins运行容器,这是正确的,或者我已经使用类似kubernet的东西?

你能分享一下你如何解决像上面描述的问题吗? 我做对了还是不好的做法?

把代码放在一个git服务器,github,stash等等,当代码发生变化时,让jenkins检测,构build它,然后将其部署到服务器,以及它是否上传到nexus。

您可以为图像命名,例如version- {auto-incrementedNumber},将其设置为variables,然后在上传时使用相同的variables命名存档。