小编典典

如何将卷添加到现有 Docker 容器?

all

我有一个 Docker 容器,我只需在 Ubuntu 上安装 Docker 并执行以下操作即可创建:

sudo docker run -i -t ubuntu /bin/bash

我立即开始安装 Java 和其他一些工具,花了一些时间,并通过以下方式停止了容器

exit

然后我想添加一个卷,并意识到这并不像我想象的那么简单。如果我使用sudo docker -v /somedir run ...,那么我最终会得到一个全新的容器,所以我必须安装 Java 并执行我之前已经完成的操作,才能到达一个安装了卷的容器。

所有关于从主机挂载文件夹的文档似乎都暗示挂载卷是在创建容器时可以完成的事情。因此,我必须避免从头开始重新配置新容器的唯一选择是将现有容器提交到存储库,并在安装卷时将其用作新容器的基础。

这确实是向现有容器添加卷的唯一方法吗?


阅读 105

收藏
2022-03-17

共1个答案

小编典典

您可以提交现有容器(即从容器更改创建新映像),然后使用新挂载运行它。

例子:

$ docker ps  -a

CONTAINER ID        IMAGE                 COMMAND                  CREATED              STATUS                          PORTS               NAMES
5a8f89adeead        ubuntu:14.04          "/bin/bash"              About a minute ago   Exited (0) About a minute ago                       agitated_newton

$ docker commit 5a8f89adeead newimagename
$ docker run -ti -v "$PWD/somedir":/somedir newimagename /bin/bash

如果一切正常,请停止旧容器,并使用这个新容器。

那是它:)

2022-03-17