$ mkdir -p /data/
$ docker run -tid -v /data/:/data ubuntu bash
上面参数说明:
- -v:用来指定挂载目录
- :前面的/data/为宿主机本地目录
- :后面的/data/为容器里的目录,会在容器中自动创建
在宿主机的/data/目录里创建一个文件
$ echo "hello" > /data/1.txt
然后到容器里查看,进行验证
$ docker exec -it b13b219b9812 bash -c "cat /data/1.txt"
2、数据卷
(1)创建数据卷
$ docker volume create testvol
(2)列出数据卷
$ docker volume ls
(3)查看数据卷信息
$ docker volume inspect testvol
[
{
"CreatedAt": "2023-09-27T19:29:53+08:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/testvol/_data",
"Name": "testvol",
"Options": null,
"Scope": "local"
}
]
说明:/var/lib/docker/volumes/testvol/_data就是宿主机对应的目录
(4)使用数据卷
$ docker run -itd --name web02 -v testvol:/data/ ubuntu
说明:上面的/data目录是容器内的目录
进入容器共享目录,创建文件
$ docker exec -it web02 bash
$ echo "111" > 1111.txt
在宿主机上对应目录进行查看
$ cat /var/lib/docker/volumes/testvol/_data/1111.txt
111
(5)多个容器共享一个数据卷
$ docker run -itd --name web03 -v testvol:/data/ ubuntu
3、将宿主机上的文件快速传输进容器里
$ docker cp /etc/fstab web02:/tmp/test.txt
进入容器进行查看验证
$ docker exec -it web02 bash -c "cat /tmp/test.txt"
4、将容器的文件快速传输到宿主机的当前目录上
$ docker cp web02:/tmp/test.txt .
在宿主机上进行查看验证
$ cat test.txt