簡體   English   中英

升級Docker容器作為docker-compose的一部分

[英]Upgrade docker container as part of docker-compose

我想在我的docker -compose文件中更新一個容器:例如從sharelatex 0.2到v0.3.10。 在不丟失其他容器及其數據的情況下該如何做? 如果更新失敗,是否還可以創建當前容器的備份並切換回該容器?

我當前的docker-compse文件:

version: '2'
services:
    sharelatex:
        restart: always
        image: sharelatex/sharelatex:0.20
        container_name: sharelatex
        depends_on:
            - mongo
            - redis
        privileged: true
        ports:
            - 80:80
        links:
            - mongo
            - redis
        volumes:
            - ~/sharelatex_data:/var/lib/sharelatex
        environment:
            SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex
            SHARELATEX_REDIS_HOST: redis
            SHARELATEX_APP_NAME: 'Our ShareLaTeX'

    mongo:
        restart: always
        image: mongo
        container_name: mongo
        expose:
            - 27017
        volumes:
            - ~/mongo_data:/data/db

    redis:
        restart: always
        image: redis
        container_name: redis
        expose:
            - 6379
        volumes:
            - ~/redis_data:/data

您應該始終將任何重要狀態(數據)存儲在卷中。 容器應始終視為一次性容器,因此在升級時,將重新使用卷,並且不會丟失任何數據或狀態。

默認情況下,只要它們的配置沒有更改, docker-compose up就會嘗試重用任何現有容器。 如果僅更改一項服務,則其他服務容器不會停止。

在您的情況下,您好像已經在使用卷,因此只需更改版本並運行docker-compose up

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM