docker-修改容器挂载目录的3种方法小结

docker-修改容器挂载目录的3种方法小结,第1张

docker-修改容器挂载目录的3种方法小结

本文详细介绍了docker——修改容器初始化目录的三种方式的总结,具有非常好的实用价值,期待对大家有所帮助。跟我回去看看。

方法一:修改配置文件(需要停止docker服务)

1.停止docker服务。

Systemctl停止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启动docker.service

4.启动docker容器

dockerstart<容器名称/ID>;

方法2:将当前容器作为新的镜像系统提交,然后再次 *** 作

$dockerps-a CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 5a3422adeeadubuntu:14.04"/bin/bash"AboutaminuteagoExited(0)Aboutaminuteagoagitated_newton $dockercommit5a3422adeeadnewimagename $dockerrun-ti-v"$PWD/dir1":/dir1-v"$PWD/dir2":/dir2newimagename/bin/bash

然后停止旧容器并应用这个新容器。如果由于各种原因必须将旧名称应用于新容器,请在删除旧容器后应用dockerrename。

方法三:导出容器是镜像系统,然后导入是新的镜像系统

$dockercontainerexport-o./myimage.docker容器ID $dockerimport./myimage.dockernewimagename $dockerrun-ti-v"$PWD/dir1":/dir1-v"$PWD/dir2":/dir2newimagename/bin/bash

然后停止旧容器并应用这个新容器。如果由于各种原因必须将旧名称应用于新容器,请在删除旧容器后应用dockerrename。

填写专业知识:Docker,重启后如何保持数据信息不丢失,教你初始化数据信息量

当使用Docker部署web应用或者mysql数据库查询时,你会发现当容器重启时,整个容器 *** 作过程中产生的日志或者数据库查询数据信息会被清除,那么你是如何保存这些数据信息的呢?

需要了解docker是如何初始化主机硬盘目录来永久存储数据信息的。

1。创建容器时实现Docker卷

dockerrun命令的应用可以 *** 作一个docker容器,应用镜像系统ubuntu/nginx,将本地目录/tmp/source初始化为容器目录/tmp/destination。

dockerrun-itd-volume/tmp/source:/tmp/destination-nametestUbuntu/nginxbash

根据ubuntu/nginx镜像系统构建Docker容器。

特定容器的名称是test,由–––name选项指定。

DockerVolume由––Volume(可以缩写为-v)选项指定,服务器的/tmp/source目录与容器中的/tmp/destination目录一一对应。

2。查询Docker卷

使用dockerinspect命令,可以查询docker容器的详细信息:

dockerinspect-format='{{json。mounts}}'test|python-mJSON.tool[{"Destination":"/tmp/Destination","Mode":","Propagation":","RW":true,"Source":"/tmp/source","Type":"bind"}]

apply––––format选项,可以有选择地查询必要的容器信息内容。。Mount是容器的Docker卷信息内容。

Python-mjson.tool可以将输出的json字符串数组恢复到出厂设置显示信息。

表示服务器上的目录,即/tmp/Source。

Destination是容器中的目录,即/tmp/destination。

3。该设备文档可以与容器共享

在device/tmp/source目录下创建一个新的hello.txt文件。

触摸/tmp/source/hello.txtls/tmp/source/hello.txt

hello.txt文件位于容器/tmp/destination/目录中。

应用dockerexec指令,并能在容器中运行命令。

dockerexectestls/tmp/destination/hello.txt

因此,主机对目录/tmp/source/的修改可以被携带到容器目录/tmp/destination/中。

4。容器文档可以与主机共享

在container/tmp/destination目录中创建一个新的world.txt文件。

dockerexec测试touch/tmp/destination/world.txtdockerexec测试ls/tmp/destination/hello.txtworld.txt

world.txt文件在host/tmp/source/目录中可见。

ls/tmp/source/hello.txtworld.txt

以上总结的docker-修改容器初始化目录的三种方法就是我全部分享给大家的。期待给你一个参考,也期待你的申请。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/774054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存