首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将码头容器复制到新主机,包括存储的数据?

如何将码头容器复制到新主机,包括存储的数据?
EN

Stack Overflow用户
提问于 2021-01-22 22:15:36
回答 1查看 856关注 0票数 0

我已经在本地机器上为InfluxDB、Chronograf和Grafana (使用这个对接-组合设置)开发了一些码头容器:

代码语言:javascript
复制
version: "3"

services:

    influxdb:
        image: influxdb:1.5
        volumes:
            - influxdb_data:/var/lib/influxdb
        ports:
            - 127.0.0.1:8086:8086
        restart: always
    chronograf:
        image: chronograf:1.5
        volumes:
            - chronograf_data:/var/lib/chronograf
        ports:
            - 127.0.0.1:8087:8888
        restart: always
    grafana:
        image: grafana/grafana
        ports:
            - 127.0.0.1:3000:3000
        volumes:
            - grafana_data:/var/lib/grafana
        restart: always

volumes:
    influxdb_data:
    chronograf_data:
    grafana_data:

我希望将这些容器复制到基于云的VM中,包括存储在InfluxDB中的数据,以及在Grafana中创建的仪表板。

做这件事的首选方法是什么?

我尝试过的事情:

  • 保存和加载:这只包括对接图像,所以没有数据加载到新主机上。
  • 导出和导入:不知怎么的,当我试图导入一个码头容器时,它没有显示错误,但是我无法启动容器,因为它没有显示在我的容器列表中,或者我的图像列表中。
EN

回答 1

Stack Overflow用户

发布于 2021-01-23 18:28:47

每当我需要移动容器时,我只需要备份所需的任何命名卷,然后将它们还原到新主机(我首先在主机上手动创建新的命名卷,然后导入到它)。

除此之外,容器没有更多;当您重新部署撰写文件(或执行docker run)时,其余部分将被获取。

代码语言:javascript
复制
# Backup
docker run --rm -v volume_name:/volume -v c:\migrate:/backup alpine tar -cjf /backup/backup.tar.bz2 -C /volume ./
代码语言:javascript
复制
# Restore
docker run --rm -v volume_name:/volume -v c:\migrate:/backup alpine tar -C /volume/ -xjf /backup/backup.tar.bz2

在我的撰写文件中,我将这些卷设置为外部卷,以便docker知道不要尝试创建它们,并使用现有的卷:

也就是说,如果我创建了一个名为"my_bitwarden_data“的卷,那么我将使用:

代码语言:javascript
复制
volumes:
  my_bitwarden_data:
    external: true
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65853463

复制
相关文章

相似问题

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