首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将docker container升级为docker-compose的一部分

将docker container升级为docker-compose的一部分
EN

Stack Overflow用户
提问于 2016-09-28 21:17:16
回答 1查看 368关注 0票数 0

我想在我的docker-compose文件中更新一个容器:例如,从sharelatex 0.2到v0.3.10。如何才能在不丢失其他容器及其数据的情况下做到这一点?是否也可以创建当前容器的备份,并在更新失败时切换回它?

我当前的docker-compse文件:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2016-09-29 01:24:39

您应该始终将任何重要的状态(数据)存储在卷中。容器应该始终被视为一次性容器,因此当您升级时,卷将被重用,并且不会丢失任何数据或状态。

默认情况下,只要容器的配置没有改变,docker-compose up将尝试重用任何现有的容器。如果您只更改了一个服务,其他服务容器将不会停止。

在您的例子中,看起来您已经在使用卷了,所以只需更改版本并运行docker-compose up就可以了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39748703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档