一、方式二:DockerFile添加命令
1、宿主机的根目录下新建mydocker文件夹并进入
[root@localhost ~]# mkdir /mydocker
[root@localhost ~]# cd /mydocker/
[root@localhost mydocker]# pwd
/mydocker
[root@localhost mydocker]#
2、可在Dockerfile中使用VOLUME指令来给镜像添加一个或多个数据卷,File构建
[root@localhost mydocker]# vim Dockerfile
#以下是Dockerfile文件的内容
# volume test
FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "finished,--------success1"
CMD /bin/bash
[root@localhost mydocker]#
3、build后生成镜像,获得一个新镜像为zzyy/centos
[root@localhost mydocker]# docker -f /mydocker/Dockerfile -t zzyy/centos .
[root@localhost mydocker]# docker images zzyy/centos
4、run容器
[root@localhost mydocker]# docker run -it zzyy/centos
[root@cb90as45687d]# pwd
[root@cb90as45687d]# ll
通过上述步骤,容器内的卷目录地址已经知道,由上图所示:dataVolumeContainer1和dataVolumeContainer1即是
5、对应的宿主机目录地址哪??
[root@localhost ]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9cd98a45678d zzyy/centos "/bin/sh -c /bin/bas Up About a minute fervent_swartz
[root@localhost ]# docker inspect 9cd98a45678d
6、宿主机目录和容器内目录文件也是可共享的 不详细演示,查看:https://blog.csdn.net/li1325169021/article/details/94734744
7、如果Docker挂载主机目录Docker访问出现cannot open directory .: Permission denied
解决办法:在挂载目录后多加一个--privileged=true参数即可