【问题标题】:Docker - is it necessary to push images to remote server?Docker - 是否有必要将图像推送到远程服务器?
【发布时间】:2017-03-08 11:15:55
【问题描述】:

我已经成功构建了一些Docker镜像:

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

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

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

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    您是否需要在与您当时构建的服务器不同的服务器上运行此映像?

    如果你需要,你有一些选择:

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

    ...您可以将标签image 添加到您的docker-compose 服务中,然后执行docker-compose build,正如@lauri 所说,但是使用image docker-compose 将使用该标签创建图像在构建之后命名,然后你可以使用 than 来做 docker run。或者做一个docker-compose up --build,这样如果Dockerfile有什么变化,它总是会重新构建。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-10
        • 2014-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-15
        相关资源
        最近更新 更多