docker数据挂载

docker 会频繁的删除,如果把数据保存再docker 中,会丢失数据,可以把数据存储在宿主机,保证数据不丢失

数据卷挂载

把宿主机目录挂载到docker容器中

# 把宿主机 /home/centos  挂载到 docker /home目录,  宿主机目录或文件会自动创建
docker run -it --name nginx-guan -d -v /home/nginx-test:/home nginx 

docker数据挂载_第1张图片

  • 运行一个nginx容器:docker run -it --name nginx-guan -d -v /home/nginx-test:/home nginx
    -v 挂载,把宿主机/home/nginx-test 挂载到 nginx 容器的 /home 下。
  • 宿主机创建Hello.java 文件,进入 nginx 容器(docker exec -it ngnix-guan /bin/bash) 再/home 目录下,看到宿主机创建的Helle.java 文件
  • nginx 容器中修改Helle.java, 同步到宿主机。实现宿主机与docker 挂载
  • 容器删除后, 本地挂载目录依然在,新增容器后,依然可以使用之前宿主机挂载
    docker数据挂载_第2张图片

查看挂载

docker inspect nginx-guan

docker数据挂载_第3张图片

使用 dockerfile 创建镜像

dockerfile创建镜像脚本文件

  • 编写脚本
    vim dockfile
# 编写脚本
from centos # 基于centos 创建按
vloume ["/datavolune01", "/datavolume02"] # 挂载的文件
cdm echo "-----ene------"
cmd /bin/bash  
  • 使用脚本创建
 docker build  -f dockfile  -t guan/centos002 . 
 

docker数据挂载_第4张图片

  • 查看
docker images

在这里插入图片描述

  • 自定义镜像创建容器
docker run -it guan/centos002:latest /bin/bash

在这里插入图片描述

  • 查看自定义挂载
docker inspect 6f65a56188ff 

宿主机查看
docker数据挂载_第5张图片

source : 宿主机内挂载文件位置
destination:容器内挂载位置

容器内查看
docker数据挂载_第6张图片

你可能感兴趣的:(docker,docker)