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,说明这个容器就被删除了
无情的摸鱼机器