通过如下命令构建我们的docker数据卷
docker run -it -v /myDataVolume:/dataVolumeContainer centos
执行命令后,将在centos容器中生成一个dataVolumeContainer文件夹,同时在本主机中生成一个myDataVolume文件夹。
image.png
image.png
当两个文件夹生成后,docker内的文件夹就像是插在主机上的u盘一样,可以让docker容器内的数据与主机数据交互。
操作过程中相关问题
root用户查看根目录所有文件
cd /
ll
image.png
docker 的centos在根目录下使用ll命令报错
image.png解决方案:
ll 并不是Linux 下一个基本的命令,它实际上是ls -l 的一个别名,默认不支持命令ll ,必须用ls-l;
通过docker inspect查看centos镜像状态,去看数据卷绑定状态
image.png image.png image.pngvim编译器使用
编译器保存退出
先esc,在按:在输入wq! 回车 即可保存退出
ps:linux返回上级目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd或cd ~ 返回home目录
cd - 目录名 返回指定目录
image.pngimage.png
dockerfile的形式添加数据卷
cd /
mkdir mydocker
cd /mydocker/
vim Dockerflie
在vim编译器里复制如下文件
# volume test
FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "finished,----------success1"
CMD /bin/bash
复制完后esc+:输入wq!+enter
退出并保存文件
通过如下命令构造自定义镜像
docker build -f /mydocker/Dockerfile -t xuxiao/centos .
ps:注意,该命令就在mydocker路径下执行,如果切换成跟目录或者root目录或者其他目录会执行失败
build成功 ps查看我的镜像 运行我的镜像发现存在我通过dockerfile构建的两个数据卷(U盘)还有一个问题
我们通过dockerfile在自定义镜像中构建了两个数据卷是没错,但是我们没有跟当前主机交互啊,也就是之前的那个docker run -it -v /myDataVolume:/dataVolumeContainer centos
我们没有指定myDataVolume,只构建了两个dataVolumeContainer
那么怎么找我们的myDataVolumem?
是通过
docker inspect 镜像id
查看
网友评论