我正在构建服务器上构建一个Docker镜像(使用TeamCity).构建完成后,我想获取映像并将其部署到某个服务器(登台,生产).
我找到的所有教程
将图像推送到某个存储库,服务器可以将其下载(拉出),这在小项目中会引入额外的复杂性
使用类似Heroku的方法,并在"附近"或在运行它的机器上构建图像
我真的认为在(app)服务器上不应该做任何特别的事情.图像,IMO,应该作为封闭的,自给自足的二进制文件,代表整个应用程序,可以在构建服务器,测试,问答等之间传递.
但是,当我save
基于官方node
存储库的标准NodeJS应用程序时,它具有1.2 GB.将这样的文件从服务器传递到服务器并不是很舒服.
问:有没有办法通过SSH导出/保存和"上传"图像的更改部分(图层),而不会引入Docker存储库的复杂性?然后,服务器将从公共中提取缺少的层,hub.docker.com
以避免从网络缓慢上载到云.
save
从技术角度来看,投资tar tarfile的内容应该不难.该push
命令基本上就是这样 - 它永远不会上传已经存在于repo中的图层.
Q2:您认为在我正在部署的docker-host上运行一个小型仓库以实现这一目标是一个好方法吗?