docker 会频繁的删除,如果把数据保存再docker 中,会丢失数据,可以把数据存储在宿主机,保证数据不丢失
数据卷挂载
把宿主机目录挂载到docker容器中
# 把宿主机 /home/centos 挂载到 docker /home目录, 宿主机目录或文件会自动创建
docker run -it --name nginx-guan -d -v /home/nginx-test:/home nginx
- 运行一个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 inspect nginx-guan
使用 dockerfile 创建镜像
dockerfile
创建镜像脚本文件
- 编写脚本
vim dockfile
# 编写脚本
from centos # 基于centos 创建按
vloume ["/datavolune01", "/datavolume02"] # 挂载的文件
cdm echo "-----ene------"
cmd /bin/bash
- 使用脚本创建
docker build -f dockfile -t guan/centos002 .
- 查看
docker images
- 自定义镜像创建容器
docker run -it guan/centos002:latest /bin/bash
- 查看自定义挂载
docker inspect 6f65a56188ff
宿主机查看
source : 宿主机内挂载文件位置
destination:容器内挂载位置
容器内查看