1.数据的挂载

三种挂载模式
1) docker自动在外部创建文件夹自动挂载容器内部指定的文件夹内容【Dockerfile VOLUME指令的作用】
-v 可以自动挂载 到linux主机或者docker自动管理的这一部分区域
2) 自己在外部创建文件夹,自动挂载 bind mount 模式
3) 可以把数据挂载到内存中。 几乎不用到
—mount 挂载到 linux宿主机(文件系统),手动挂载(不用了)
2 、volume(卷) 方式
-v 宿主机绝对路径:Docker容器内部绝对路径:叫挂载;这个有空挂载问题
-v 不以/开头的路径:Docker容器内部绝对路径:叫绑定(docker会自动管理,docker不会把他当前目 录,而把它当前卷)
nginx测试html挂载几种不同情况:
不挂载 效果:访问默认欢迎页-v /root/html:/usr/share/nginx/html 效果:访问forbidden-v html:/usr/share/nginx/html:ro 效果:访问默认欢迎页-v /usr/share/nginx/html 效果:匿名卷 (什么都不写也不要加冒号,直接写容器内的目录)
解释
# -v不以绝对路径方式;### 1、先在docker底层创建一个你指定名字的卷(具名卷) html### 2、把这个卷和容器内部目录绑定### 3、容器启动以后,目录里面的内容就在卷里面存着;#####-v nginxhtml:/usr/share/nginx/html 也可以以下操作## 1、 docker create volume nginxhtml 如果给卷里面就行修改,容器内部的也就改了。## 2、 docker volume inspect nginxhtml## 3、docker run -d -P -v html:/usr/share/nginx/html --name=nginx nginx# 可以看到"Mounts": [{"Type": "volume","Name": "html","Source": "/var/lib/docker/volumes/html/_data","Destination": "/usr/share/nginx/html","Driver": "local","Mode": "z","RW": true,"Propagation": ""}]#卷:就是为了保存数据docker volume #可以对docker自己管理的卷目录进行操作;/var/lib/docker/volumes(卷的根目录)
2、管理卷
docker volume create xxx:创建卷名docker volume inspect xxx:查询卷详情docker volume ls: 列出所有卷docker volume prune: 移除无用卷
3、可视化界面-Portainer
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
