一尘不染

提交已装入卷的内容

docker

我有一个jenkins容器正在运行,并且希望在容器提交中隔离其配置。唯一的问题是,码头工人不会提交已安装卷的更改-因此我必须将其卸载。

有没有办法让docker挂载卷 提交目录更改?

我读到了有关卷绑定的 只读 选项。可能有帮助吗?


阅读 216

收藏
2020-06-17

共1个答案

一尘不染

不幸的是,此功能不可用。已经提出过很多次,但开发人员并未接受。主要原因是可移植性。卷不应该是映像的一部分,而是存储在映像之外。

但是,您仍然可以间接实现相同的目标。

  1. 使用docker commit命令提交容器。
  2. 启动一个新的虚拟容器,该容器使用您要备份的容器中的卷。

docker run -volumes-from <container-name> --name backup -it ubuntu bash

  1. 放入容器后,将安装了卷的文件夹放在tar中。

  2. 将卷tar从虚拟容器复制到您的主机

泊坞窗cp备份:volume.tar

现在,您有多种选择:

  1. 使用Dockerfile创建一个新映像:

FROM commited-container-image COPY volume.tar . RUN tar -xf volume.tar -C path-to-volume-mount-point &&\ rm -f volume.tar

  1. 或解压缩卷备份并将其作为绑定安装挂载到从容器提交映像创建的新容器上
2020-06-17