docker-修改容器的挂载目录三种方式

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker-修改容器的挂载目录三种方式相关的知识,希望对你有一定的参考价值。

原文:docker-修改容器的挂载目录三种方式

方式一:修改配置文件(需停止docker服务)
1、停止docker服务
systemctl stop docker.service(关键,修改之前必须停止docker服务)
2、vim /var/lib/docker/containers/container-ID/config.v2.json
修改配置文件中的目录位置,然后保存退出

 "MountPoints":{"/home":{"Source":"/docker","Destination":"/home","RW":true,"Name":"","Driver":"","Type":"bind","Propagation":"rprivate","Spec":{"Type":"bind","Source":"//docker/","Target":"/home"}}}
  • 1

3、启动docker服务
systemctl start docker.service
4、启动docker容器
docker start <container-name/ID>
方式二:提交现有容器为新镜像,然后重新运行它

$ docker ps  -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED              STATUS                          PORTS               NAMES
   5a3422adeead        ubuntu:14.04          "/bin/bash"              About a minute ago   Exited (0) About a minute ago                       agitated_newton
$ docker commit 5a3422adeead newimagename
$ docker run -ti -v "$PWD/dir1":/dir1 -v "$PWD/dir2":/dir2 newimagename /bin/bash
  • 1
  • 2
  • 3
  • 4
  • 5

然后停止旧容器,并使用这个新容器,如果由于某种原因需要新容器使用旧名称,请在删除旧容器后使用docker rename。
方式三:export容器为镜像,然后import为新镜像

$docker container export -o ./myimage.docker 容器ID
$docker import ./myimage.docker newimagename
$docker run -ti -v "$PWD/dir1":/dir1 -v "$PWD/dir2":/dir2 newimagename /bin/bash
  • 1
  • 2
  • 3

然后停止旧容器,并使用这个新容器,如果由于某种原因需要新容器使用旧名称,请在删除旧容器后使用docker rename。

以上是关于docker-修改容器的挂载目录三种方式的主要内容,如果未能解决你的问题,请参考以下文章

docker学习系列:数据持久化

docker如何修改挂载路径(挂载目录)?(没弄完,先去弄别的)

Docker 实现挂载的三种方式

docker-管理应用程序数据

docker挂载文件后变成目录

docker 修改镜像和容器的存放路径(最新自己实践了第三种方法)