使用Dockerfile生成镜像,并挂载数据卷

编写Dockerfile 注意:命令单词全部大写

1
2
3
4
FROM ubuntu
VOLUME ["volume1","volume2"]
CMD echo "------Done------"
CMD /bin/bash

68-01

68-02

查看docker build帮助

1
2
3
docker build --help     //查看docker build帮助
-f //dockerfile文件路径
-t //镜像别名:版本号

68-03

生成镜像并挂载数据卷

1
docker build -f /Users/sunjie/Desktop/test-dockerfile/dockerfile01 -t my_ubuntu:1.0.0 .     //执行dockerfile生成镜像

68-04

启动一个容器

1
docker run -it bbef8a39891f /bin/bash

68-05

在容器一个挂载卷中,新建文件

68-06

查看容器元数据,挂载卷的外面主机的目录

1
docker inspect 1c259b42fc70

68-07

68-08

查看外面物理主机相应目录内容,注意,在Mac上,此处有坑

1
2
cd /var/lib/docker/volumes/568d0c3e0d3267bbace8e99c0a75b1d0e2037a919b2e629861727d5889624582/_data
//提示找不到目录或文件 no such file or directory: /var/lib/docker/volumes/568d0c3e0d3267bbace8e99c0a75b1d0e2037a919b2e629861727d5889624582/_data

68-09

解决方案

1
docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh               //执行此命令

68-10

跳转目录,找到物理主机相应目录内容

68-11