如何在由docker compose启动的系统中更新容器

时间:2018-09-25 22:47:42

标签: docker docker-compose

我有一个整个系统都以docker compose开始。

它由几个容器组成,还包含有关连接的信息。

例如:

librarian:
    image: autobot-librarian
    ports:
       - 4000:80
    depends_on:
       - mongodb
    links:
       - mongodb

在这种情况下,此容器可以访问mongodb。

我希望能够在不关闭整个系统的情况下,更新单个容器的图像并即时替换它。

我可以停止容器,然后使用新映像重新启动它,但是docker-compose建立的连接不再存在。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以使用docker-compose来一次管理一项或多项服务。在这种情况下,如果要更新一张图像,则必须执行以下操作:

docker-compose pull librarian

之后,如果要更新容器:

docker-compose up -d librarian

这只会重新启动一项服务以及所有依赖于该服务的服务(在docker-compose中定义为depends_on)。