$ 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