我可以直接部署生成的 docker 镜像而不将其推送到 DockerHub 吗?

its*_*yub 1 docker circleci-2.0

我不想将 docker 构建映像推送到 DockerHub。有没有什么办法可以直接将一个 docker 镜像从 CircleCI 部署到 AWS/vps/vultr 而不必推送到 DockerHub?

i.b*_*nko 5

我使用 docker save/load 命令:

# 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"
Run Code Online (Sandbox Code Playgroud)

PS:LOADED_IMAGE_ID可以通过以下方式检索:

REMOTE_IMAGE_ID=`ssh user@host"docker load -i ~/image.tar" | grep -o "sha256:.*"`
Run Code Online (Sandbox Code Playgroud)

更新:您可以 gzip 输出以使其更小。(不要忘记在加载前解压缩图像存档)

docker save $IMAGEID | gzip > image.tar.gz
Run Code Online (Sandbox Code Playgroud)