docker-push-ssh
是仅用于此方案的命令行实用程序。
它在服务器上建立了一个临时的私有Docker注册表,在本地主机上建立了一个ssh通道,推送您的映像,然后自己清理。
这种方法的好处
docker save
(在编写大多数答案时,使用这种方法)是只将新层推送到服务器,从而使上载更快。
通常使用中间注册表(如DockerHub)是不可取的,而且很麻烦。
https://github.com/brthor/docker-push-ssh
安装:
pip install docker-push-ssh
例子:
docker-push-ssh -i ~/my_ssh_key username@myserver.com my-docker-image
最大的警告是您必须手动将本地主机添加到Docker的
insecure_registries
配置。运行该工具一次,它将给出一个信息错误:
Error Pushing Image: Ensure localhost:5000 is added to your insecure registries.
More Details (OS X): https://stackoverflow.com/questions/32808215/where-to-set-the-insecure-registry-flag-on-mac-os
Where should I set the '--insecure-registry' flag on Mac OS?