容器数据持久化

 

[root@ol85 ~]# docker exec -it web bash
root@web:/# cd /usr/share/nginx/html/
root@web:/usr/share/nginx/html#

root@web:/usr/share/nginx/html# echo "<h1>hello world </h1>" >index.html

[root@ol85 ~]# docker rm -f web

重建

[root@ol85 ~]# docker run -d --name web -p 88:80 nginx

  创建宿主机nginx根目录

[root@ol85 ~]# mkdir /opt/wwwroot

[root@ol85 ~]# docker run -d --name web -p 88:80 -v /opt/wwwroot/:/usr/share/nginx/html  nginx    

  报403

[root@ol85 ~]# ls /opt/wwwroot/
[root@ol85 ~]# docker exec -it web bash
root@78472ea027ed:/# ls /usr/share/nginx/html     

root@78472ea027ed:/# cd /usr/share/nginx/html/
root@78472ea027ed:/usr/share/nginx/html# ls
root@78472ea027ed:/usr/share/nginx/html# echo "<h1>hello word</h1>" > index.html      

  编辑目标容器目录。容器中创建,可以访问。宿主机中,可以看到该内容。

[root@ol85 ~]# ls /opt/wwwroot/
  index.html

[root@ol85 ~]# vi /opt/wwwroot/index.html   

 

模拟删除重建,修改的页面

[root@ol85 ~]# docker rm -f web
  web

[root@ol85 ~]# docker run -d --name web -p 88:80 -v /opt/wwwroot/:/usr/share/nginx/html  nginx

 

制作镜像:

1,启动容器后的应用程序服务,产生的数据尽量放到一个目录  /data

2,  构建镜像,不是将已生成的应用程序数据打包进去

3,随着容器产生的数据,才会持久化。已有的数据,只能是镜像中的一部分。

       jenkins,gitlab 使用docker采用 -v 将自身产生的数据持久化宿主机

      

数据卷

docker volume create nginx-vol

目录 :    /var/lib/docker/volumes

 

posted @ 2022-05-09 16:40  老王的农场  阅读(84)  评论(0编辑  收藏  举报