Docker数据挂载

Docker中进行数据挂载实现数据共享,这里只说volumes的挂载

想要达到的效果就是宿主机的挂载文件夹里有什么,docker容器中对应的映射文件夹就有什么

先通过pull命令从docker仓库中才在一个镜像(随便下的),我下的是ubuntu镜像

下载完查看本地镜像(权限不够的话在命令前加上sudo)

docker images

在挂载之前先要把对应文件夹选好,这里宿主文件夹我选的:

 然后在里面随便touch一个文件,如果挂载之后容器对应的文件夹也有这个文件就说明成功了

sudo touch test.txt

有个插曲,touch的时候我搞错了,ubuntu离得目录是分大小写的,我在Documents里面新建的test.txt,但是后面挂载是在documents,所以用cp命令复制一下

test.txt文件通过vim命令编辑,按insert键输入,esc退出编辑,ZZ保存并退出

 如果vim编辑文本的时候提示你文件只读,在vim命令前面加上sudo就有权限写了

接下来进行挂载操作

参考 https://blog.csdn.net/weixin_43745072/article/details/106094171

sudo docker run -itd --name=ubuntu_test -v /home/montage/documents:/usr/games ubuntu /bin/bash

最后面的/bin/bash好象是交互模式,表示这个容器运行的是ubuntu系统中的bash程序(大概)

命令运行成功后进入容器查看,通过attach命令

sudo docker attach ubuntu_test

进入到容器中后,进入对应目录查看

 发现挂载成功,宿主机挂载卷中的文件出现在了容器对应的目录中

用cat命令查看,文件内容也是一致的

最后要把测试用的容器删掉,对于运行中的容器要先把它停掉

docker stop 容器名/容器id

docker ps

命令查看运行容器,如果没有说明已经停掉了,这时候用

docker rm 容器名/容器id

删掉容器,此时用

docker ps -a

查看所有容器,返现也没有ubuntu_test,说明这个容器就被删除了

 

原文地址:https://www.cnblogs.com/wangtianning1223/p/14185185.html