docker工人 – 是否有必要将图像推送到远程服务器?

我已经成功地构build了一些Docker镜像: 在这里输入图像说明

现在我想通过docker-compose启动我的微服务,不幸的是我无法拉这些图像,即repository callista/discovery-server not found: does not exist or no pull access我通过login到我的DockerHub帐户和推送那些图像到远程服务器。 但在我看来,似乎有点矫枉过正,通过互联网两次(推拉)发送这样的大图片(很可能很快会改变)。

是否有可能configurationdocker在本地安装这些图像,而不是从远程服务器拉?

我使用Docker 1.8并在Windows 10上工作。

你需要在一个不同于你build立的服务器上运行这个映像吗?

如果你需要你有一些替代品:

  • 正如@工程师dollery所说,你可以在你的networking上运行一个registry,而不需要通过互联网发送,只能在你的networking上。 文档: https : //docs.docker.com/registry/deploying/

  • 你可以使用docker savedocker import来移动。 文档: https : //docs.docker.com/engine/reference/commandline/save/

但是,如果你运行的图像的服务器是相同的,你build立然后…

…比你可以只添加标签image到你的docker-compose服务,并做一个docker-compose build ,如@lauri说的,但与image docker-compose将创build一个名称的形象后,那么你可以做docker run使用比。 或者做一个docker-compose up --build这样如果有什么东西变成Dockerfile话,它总是会重新构build

如果你在docker-compose.yml中定义了build选项,你应该可以用Docker Compose在本地构build图像,然后在不拉动的情况下使用这些图像。 默认情况下,如果Docker Compose在本地找不到,则会生成图像。 如果你想重build图像,只需要添加--build选项docker-compose up命令docker-compose up --build

Docker撰写构build参考: https : //docs.docker.com/compose/compose-file/#build