Docker快速入门(十一)Docker数据存储
容器的数据存储
容器在删除之后,里面所有的数据都会丢失,如果其他程序需要用到某一部分的数据那就没办法了。
所以可以将容器内的数据存储到容器之外,比如存储到宿主机内。(Docker提供了好几种方法)
将容器内的数据存放到容器外可以通过将宿主机内的某个目录挂载给容器作为某一部分的存储空间使用。
先在/root
目录下新建一个名为data的目录以供容器使用。
[root@promote ~]# mkdir data [root@promote ~]# ls data
接着创建容器并将data
目录挂载给容器作为存储。
使用-v 宿主机目录:容器目录
.
这里以http
为例,因为http
存放静态网页的默认位置在/usr/local/apache2/htdocs
,所以将data
目录用作此目录的存储空间,专门用来存放网页。
[root@promote ~]# docker run -d --name http -p 80:80 -v ~/data:/usr/local/apache2/htdocs docker.io/httpd c6b71842d961663d380cecae5373c10236109e860bad18207195e9636ddb121f
这样就挂载好了。
现在在data
目录下新建一个index.html
静态网页试试。
[root@promote ~]# cd data/ [root@promote data]# cat index.html <html> <body>This is a test</body> </html>
接着访问宿主机的80端口查看。
[root@promote ~]# curl 127.0.0.1:80 <html> <body>This is a test</body> </html>
说明data
目录挂载到容器成功。
而http
容器里原来的index.html
被覆盖了。
如果访问宿主机80端口时被拒绝访问:
[root@promote ~]# curl 127.0.0.1:80 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>403 Forbidden</title> </head><body> <h1>Forbidden</h1> <p>You don't have permission to access / on this server.<br /> </p> </body></html>
可以尝试关闭selinux
再访问,setenforce 0
是临时关闭selinux
。
[root@promote ~]# setenforce 0 [root@promote ~]# curl 127.0.0.1:80 <html> <body>This is a test</body> </html>
分类:
Docker快速入门
标签:
Docker
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 用 DeepSeek 给对象做个网站,她一定感动坏了
· DeepSeek+PageAssist实现本地大模型联网
· 手把手教你更优雅的享受 DeepSeek
· Java轻量级代码工程
· 从 14 秒到 1 秒:MySQL DDL 性能优化实战