1.docker将宿主机和容器内部路径映射
方式1:
[root@k3s-storage volume-ubuntu]# docker run -itd --name test-ubuntu1 -v /home/volume-ubuntu:/usr/sbin ubuntu:latest bash
875c2d5e3e45d38cb31d586d4530472ba74beeb5e84c32bfc26849d880dfb11f
方式2:
[root@k3s-storage volume-ubuntu]# docker run -itd --name test-ubuntu1 -v $(pwd):/usr/sbin ubuntu:latest bash
651c856a202e52fa66f316f60568c9c0fd844bc02efbd137e3b45974cad7a1df
宿主机路径:
/home/volume-ubuntu
容器内路径:
/usr/sbin
1.1 测试
进入/home/volume-ubuntu内对文件做增删改操作,然后进入容器内部/usr/sbin内查看有么有对应变化。
2.删除当前容器,创建新容器,并使用-v 方式挂载原有的卷,进入容器查看是否还有文件。
3.其他容器使用同一个容器共享卷
3.1 创建共享容器dbdata
[root@k3s-storage volume-ubuntu]# docker run -itd --name dbdata -v $(pwd):/dbdata ubuntu:latest bash
7bff1b95f5e1ef5d795b6684c55489313c79b9f9dfbf4cb53740a382d30e7a13
3.2 创建容器使用dbdata容器中的数据卷
创建容器时使用`--volumes-from`参数指定容器名称。
[root@k3s-storage volume-ubuntu]# docker run -itd --name from-dbdata --volumes-from dbdata ubuntu:latest bash
40c256f39de295e3524292aa7b375e9ce04b4f3053232e0a70756141eaaed9cb
进入宿主机目录,创建、删除文件观察from-dbdata容器/dbdata目录内有没有变化。
[root@k3s-storage volume-ubuntu]# docker exec from-dbdata ls /dbdata
456.txt
from-dbdata.txt
[root@k3s-storage volume-ubuntu]# ls
456.txt from-dbdata.txt
这样做的好处是使多个容器之间数据可以持续更新。
评论区