本文详细介绍了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-修改容器初始化目录的三种方法就是我全部分享给大家的。期待给你一个参考,也期待你的申请。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)