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

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

目录


6. 容器存储收起


6.1 绑定挂载


6.2 码头工人管理的卷


6.3 体积容器


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



6. 容器存储收起

6.1 绑定挂载

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

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

        1.png

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

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

                               docker inspect 容器ID

1.png

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

cd /home/container/htdocs/
                                echo “this is page from host directory.” > index.html
                                cat index.html

                          1.png

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


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

docker rm 容器ID -f
                                cd /home/container/htdocs/
                                ls
                                cat index.html

                              1.png

6.2 码头工人管理的卷

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

docker run -d -p 80:80 -v /usr/local/apache2/htdocs/ httpd

                         

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

docker container ls
                                docker inspect 容器ID

                           1.png

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


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


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

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

1.png

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

cd 挂载源路径
                                ls
                                cat index.html

1.png

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

 docker rm 容器ID -f
                                cd 挂载源路径
                                ls
                                cat index.html

1.png

6.3 体积容器

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

mkdir -p /home/vccontainer/htdocs
                                cd /home/vccontainer/htdocs
                                echo " this is page from vccontainer. " > index.html
                                cat index.html

1.png

创建预备卷容器。

 docker create --name vccontainer -v /home/vccontainer/htdocs:/usr/local/apache2/htdocs -v /other/tools/ busybox

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

docker inspect 容器ID

1.png

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

docker run -td -p 80:80 --volumes-from vccontainer busybox

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

docker inspect 容器ID

1.png

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

docker exec -it 容器ID sh

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

 cd /other/tools/
                                echo “this is page from container.”> test.out
                                exit

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

cd 挂载源路径
                                cat test.out
相关文章
|
4月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
4月前
|
XML Java 应用服务中间件
【SpringBoot(一)】Spring的认知、容器功能讲解与自动装配原理的入门,带你熟悉Springboot中基本的注解使用
SpringBoot专栏开篇第一章,讲述认识SpringBoot、Bean容器功能的讲解、自动装配原理的入门,还有其他常用的Springboot注解!如果想要了解SpringBoot,那么就进来看看吧!
565 2
|
7月前
|
Cloud Native 中间件 调度
云原生信息提取系统:容器化流程与CI/CD集成实践
本文介绍如何通过工程化手段解决数据提取任务中的稳定性与部署难题。结合 Scrapy、Docker、代理中间件与 CI/CD 工具,构建可自动运行、持续迭代的云原生信息提取系统,实现结构化数据采集与标准化交付。
371 1
云原生信息提取系统:容器化流程与CI/CD集成实践
|
9月前
|
Kubernetes Cloud Native 区块链
Arista cEOS 4.30.10M - 针对云原生环境设计的容器化网络操作系统
Arista cEOS 4.30.10M - 针对云原生环境设计的容器化网络操作系统
289 0
|
12月前
|
存储 SQL 索引
Python入门:7.Pythond的内置容器
Python 提供了强大的内置容器(container)类型,用于存储和操作数据。容器是 Python 数据结构的核心部分,理解它们对于写出高效、可读的代码至关重要。在这篇博客中,我们将详细介绍 Python 的五种主要内置容器:字符串(str)、列表(list)、元组(tuple)、字典(dict)和集合(set)。
Python入门:7.Pythond的内置容器
|
12月前
|
存储 缓存 C++
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
C++ 标准模板库(STL)提供了一组功能强大的容器类,用于存储和操作数据集合。不同的容器具有独特的特性和应用场景,因此选择合适的容器对于程序的性能和代码的可读性至关重要。对于刚接触 C++ 的开发者来说,了解这些容器的基础知识以及它们的特点是迈向高效编程的重要一步。本文将详细介绍 C++ 常用的容器,包括序列容器(`std::vector`、`std::array`、`std::list`、`std::deque`)、关联容器(`std::set`、`std::map`)和无序容器(`std::unordered_set`、`std::unordered_map`),全面解析它们的特点、用法
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
587 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
存储 人工智能 调度
容器服务:智算时代云原生操作系统及月之暗面Kimi、深势科技实践分享
容器技术已经发展成为云计算操作系统的关键组成部分,向下高效调度多样化异构算力,向上提供统一编程接口,支持多样化工作负载。阿里云容器服务在2024年巴黎奥运会中提供了稳定高效的云上支持,实现了子弹时间特效等创新应用。此外,容器技术还带来了弹性、普惠的计算能力升级,如每分钟创建1万Pod和秒级CPU资源热变配,以及针对大数据与AI应用的弹性临时盘和跨可用区云盘等高性能存储解决方案。智能运维方面,推出了即时弹性节点池、智能应用弹性策略和可信赖集群托管运维等功能,进一步简化了集群管理和优化了资源利用率。
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
监控 安全 Cloud Native
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。