docker commit Influxdb - 结果图像没有变化

时间:2017-03-03 08:00:20

标签: docker containers influxdb

我对潮流码头图片有很大的问题。我想将数据,数据库和表保存到文件,将文件移动到另一个主机,然后使用完整配置和数据恢复容器。我并列:

1. docker save / load
2. docker export / import
3. docker commit / run

对于上面的Influxdb官方docker image命令,不保存更改...每次容器都是“干净”,只有初始配置。我不知道出了什么问题......命令:

docker diff

仅确认未保存任何更改。

感谢您的时间和答案。

2 个答案:

答案 0 :(得分:1)

您需要在数据库位置安装卷:

docker run -p 8083:8083 -p 8086:8086 \
      -v $PWD:/var/lib/influxdb \
      influxdb

这会将当前位置作为绑定装载挂载到容器中的/var/lib/influxdb(这是Influxdb存储数据库的位置。)然后,您可以在docker主机上压缩绑定装载并将其移动到新主机。

现在问题:

InfluxDB Dockerfile/var/lib/influxdb声明为卷。卷不受docker commit影响。

VOLUME /var/lib/influxdb

答案 1 :(得分:0)

我尝试在Influxdb(commit)中保存一些更改,并使用创建的新图像启动一个新容器。 让我列出我采取的步骤:

  1. docker pull Influxdb ----->图片:646d62fcef78
  2. docker run -ti Influxdb / bin / bash ---->容器C1
  3. 在C1:mkdir~ / testing123
  4. Ctrl + p + q ---->走出容器
  5. docker commit C1 ----> 30d103f44698
  6. docker tag 30d103f44698 new_influxdb ---->标记新图像
  7. docker run -ti new_influxdb / bin / bash ---->容器C2
  8. 在C2中,当我检查了我所做的更改(〜/ testing123)时,我能够看到它存在。

    您可能正在使用相同的图像。在docker commit之后创建一个新的Image。

    P.S。:无法发表评论,这就是为什么不得不将其作为答案发布。