docker - 我可以直接部署生成的 docker 镜像而不将其推送到 DockerHub 吗?
问题描述
我不想将 docker build 映像推送到 DockerHub。有什么方法可以直接将 docker 镜像从 CircleCI 部署到 AWS/vps/vultr 而无需将其推送到 DockerHub?
解决方案
我使用 docker 保存/加载命令:
# save image to tar locally
docker save -o ./image.tar $IMAGEID
# copy to target host
scp ./image.tar user@host:~/
# load into target docker repo
ssh user@host "docker load -i ~/image.tar"
# tag the loaded target image
ssh user@host "docker tag $LOADED_IMAGE_ID myimage:latest"
PS:可以通过以下方式检索 LOADED_IMAGE_ID:
REMOTE_IMAGE_ID=`ssh user@host"docker load -i ~/image.tar" | grep -o "sha256:.*"`
更新:您可以 gzip 输出以使其更小。(不要忘记在加载之前解压缩图像存档)
docker save $IMAGEID | gzip > image.tar.gz
推荐阅读
- r - 使用 R 中的 xml2 包提取 xml 节点时出现问题
- asp.net-core-mvc - 获取 Asp.Net Core 2 MVC ReleaseVersion
- python-2.7 - 如何防止 virtualenv 替换软件包?
- postgresql - WARNING,在不安全模式下运行,JWT secret 是默认值 Listening on port 3000
- c# - 未出现在 ComboBox 列表 C# 中的项目
- html - 如何控制 ngFor 末尾的特殊字符
- reactjs - 使用 clearTimeout 和 setTimeout 的正确方法?
- javascript - 我需要一个同时工作的倒数计时器
- git - 将 Git 索引复制到临时文件夹中
- html - 什么都没有时CSS网格填充空间