首页 >运维 >Docker >已经运行的docker如何重新挂载目录

已经运行的docker如何重新挂载目录

尚
原创
2020-03-30 11:08:0916317浏览

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。

已经运行的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"}}}

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

然后停止旧容器,并使用这个新容器,如果由于某种原因需要新容器使用旧名称,请在删除旧容器后使用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

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

更多相关教程,请关注PHP中文网docker教程栏目。

以上是已经运行的docker如何重新挂载目录的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn