首页 > 解决方案 > 我可以直接部署生成的 docker 镜像而不将其推送到 DockerHub 吗?

问题描述

我不想将 docker build 映像推送到 DockerHub。有什么方法可以直接将 docker 镜像从 CircleCI 部署到 AWS/vps/vultr 而无需将其推送到 DockerHub?

标签: dockercircleci-2.0

解决方案


我使用 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

推荐阅读