第一种方式
采用默认指定 host 地址的方式,/usr/share/nginx/html 指的是容器中的挂在目录
docker run -v /usr/share/nginx/html nginx
如何查看映射到 host 中的什么位置呢?
docker inspect nginx
如果是mac 直接映射的就是不是Source中的目录,他还有一层,可以执行下面的密令去查看真是的目录
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
如果是linux,那么就不不需要了,直接就是途中 Mounts --> Source 的路径位置
第二种方式
指定本地的数据卷,挂在到容器里的一个数据卷
进入到自己指定的目录位置,执行如下命令(“:”前是 host 中的地址,后是 docker 容器中的地址)
docker run -v $PWD/data:/var/www/html nginx
第三种方式
创建一个只有数据的容器,把这个容器当作volume,挂在到别的容器中,核心命令是 --volumes-from
step1 创建那个只有数据的容器
docker create -v $PWD/data:/var/mydata --name data_container ubuntu
step2 创建需要容器,并将数据卷指定到那个刚创建的容器上,其他的交互式运行等参数,看需要增加
docker run -it --volumes-from data_container ubuntu /bin/bash
网友评论