前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >云原生系列 六【轻松入门容器基础操作】

云原生系列 六【轻松入门容器基础操作】

作者头像
用户10216580
发布2022-12-06 15:07:17
3550
发布2022-12-06 15:07:17
举报
文章被收录于专栏:一叶知秋一叶知秋

✅作者简介:                   CSDN内容合伙人,全栈领域新星创作者,阿里云专家博主,华为云享专家博主,掘金后端评审团成员 💕前言: 最近云原生领域热火朝天,那么云原生是什么?何为云原生?云原生用来干什么的?今天学长通过华为的沙箱实验操作带领大家走进“云”时代~~

再次渡入繁世,人潮汹涌,眼里茫然,信仰永恒,皆为华夏

目录

6. 容器存储收起

6.1 绑定挂载

6.2 码头工人管理的卷

6.3 体积容器

关注博主不迷路,叶秋学长带你上高速~~

6. 容器存储收起

6.1 绑定挂载

①运行容器,并将宿主机上的目录挂载到容器。

代码语言:javascript
复制
                                mkdir -p /home/container/htdocs
                            
                                cd /home/container/htdocs/
                            
                                docker run -d -p 80:80 -v /home/container/htdocs/:/usr/local/apache2/htdocs/ httpd
                            
                                docker container ls

使用docker inspect命令查询容器元数据可以获取mount具体信息。

注意:请使用前一条命令返回的容器ID替换命令中的【容器ID】。

代码语言:javascript
复制
                                docker inspect 容器ID

②宿主机目录内更新文件,验证容器内读取。

代码语言:javascript
复制
                                cd /home/container/htdocs/
                            
                                echo “this is page from host directory.” > index.html
                            
                                cat index.html

③删除容器,验证数据持久化。 使用docker rm删除容器,(删除前先停止容器),并在宿主机挂载源查看文件内容。

注意:请使用第一步的命令返回的容器ID替换命令中的【容器ID】。

代码语言:javascript
复制
                                docker rm 容器ID -f
                            
                                cd /home/container/htdocs/
                            
                                ls
                            
                                cat index.html

6.2 码头工人管理的卷

(1)运行容器,并使用docker managed volume挂载到容器.

代码语言:javascript
复制
                                docker run -d -p 80:80 -v /usr/local/apache2/htdocs/ httpd

查询容器元数据可以获取mount具体信息。

代码语言:javascript
复制
                                docker container ls
                            
                                docker inspect 容器ID

说明:容器元数据mount具体信息内可以看到mount类型为volume,并且源路径由系统自动分配。

②在容器内修改文件内容,并在宿主机挂载原路径验证。 在容器内修改挂载路径的文件内容,并在宿主机通过curl验证显示结果。

注意:请使用第一步返回的容器ID替换命令中的【容器ID】。

代码语言:javascript
复制
                                docker exec -it 容器ID bash
                            
                                cd htdocs/
                            
                                echo "this is page from docker managed volume. " > index.html
                            
                                exit
                            
                                curl localhost:80

通过第一步中获取的“source” 信息或docker inspect命令获取宿主机挂载源路径,然后验证其文件内容。

代码语言:javascript
复制
                                cd 挂载源路径
                            
                                ls
                            
                                cat index.html

③删除容器,验证数据持久化。 可以使用docker rm删除容器,(删除前请先停止容器),并在宿主机挂载源查看文件内容。容器ID与挂载源路径同上。

代码语言:javascript
复制
                                docker rm 容器ID -f
                            
                                cd 挂载源路径
                            
                                ls
                            
                                cat index.html

6.3 体积容器

(1)创建预备卷容器。 说明:Volume container可以给其他容器提供bind mount或docker Managed Volume。volume container不需要处于运行状态,创建出来即可。 在宿主机创建路径和文件,作为bind mount的源路径。

代码语言:javascript
复制
                                mkdir -p /home/vccontainer/htdocs
                            
                                cd /home/vccontainer/htdocs
                            
                                echo " this is page from vccontainer. " > index.html
                            
                                cat index.html

创建预备卷容器。

代码语言:javascript
复制
                                docker create --name vccontainer -v /home/vccontainer/htdocs:/usr/local/apache2/htdocs -v /other/tools/ busybox

注意:请使用前一步返回的容器ID替换命令中的【容器ID】。

代码语言:javascript
复制
                                docker inspect 容器ID

说明:该volume container元数据内mount部分记录了bind mount类型和docker managed volume类型,这两个部分均可以提供给其他容器。 (2)运行容器,使用步骤1中volume container提供的卷。

代码语言:javascript
复制
                                docker run -td -p 80:80 --volumes-from vccontainer busybox

注意:请使用前一步返回的容器ID替换命令中的【容器ID】。

代码语言:javascript
复制
                                docker inspect 容器ID

说明:通过查询该容器元数据,其mount部分内容和步骤1中volume container完全一致。 ③针对步骤2运行的容器,验证容器内路径和宿主机路径信息。

代码语言:javascript
复制
                                docker exec -it 容器ID sh

在容器内docker manage volume挂载路径创建文件,验证宿主机路径信息。

代码语言:javascript
复制
                                cd /other/tools/
                            
                                echo “this is page from container.”> test.out
                            
                                exit

通过第一步中获取的“source” 信息或docker inspect命令获取宿主机挂载源路径。

代码语言:javascript
复制
                                cd 挂载源路径
                            
                                cat test.out

关注博主不迷路,叶秋学长带你上高速~~ 我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=24gsy0kb72m80

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 6. 容器存储收起
    • 6.1 绑定挂载
      • 6.2 码头工人管理的卷
        • 6.3 体积容器
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档