Docker - 是否有必要将图像推送到远程服务器?

时间:2017-03-08 11:15:56

标签: docker docker-compose

我已经成功构建了一些Docker镜像:enter image description here

现在我想通过docker-compose启动我的微服务,不幸的是我无法提取这些图像,repository callista/discovery-server not found: does not exist or no pull access我通过登录我的DockerHub帐户并将这些图像推送到远程服务器来解决此错误。但在我看来,在互联网上一次又一次地发送如此大的图像(可能会很快改变)两次(推送和拉动)有点过分。

是否可以将Docker配置为在本地安装这些映像而不是从远程服务器提取?

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

您是否需要在与您构建的服务器不同的服务器中运行此图像?

如果您需要一些替代方案:

但是如果您运行图像的服务器与您构建的服务器相同,那么......

...而不是只需将标记image添加到docker-compose服务中,然后执行docker-compose build,如@lauri所说,但使用image { {1}}将在构建后创建具有该名称的图像,然后您可以使用than docker-compose。或者执行docker run因此,如果某些内容发生变化,docker-compose up --build

将会再次构建