docker 数据存储(thirty-five day)

2024-08-26 15:20

本文主要是介绍docker 数据存储(thirty-five day),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、打包
[root@docker1 ~]# docker save -o centos.tar centos:latest
[root@docker1 ~]# systemctl  start  docker
[root@docker1 ~]# docker ps -all
CONTAINER ID   IMAGE           COMMAND       CREATED        STATUS                     PORTS     NAMES
e84261634543   centos:latest   "/bin/bash"   20 hours ago   Exited (0) 2 minutes ago             c0
[root@docker1 ~]# docker rm c0
c0
[root@docker1 ~]# docker load -i centos.tar
[root@docker1 ~]# docker run -it --name c0 centos:latest  /bin/bash[root@docker1 ~]# docker start c0
c0
[root@docker1 ~]# docker attach c0
[root@c8d84a3be144 /]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo[root@c8d84a3be144 /]# yum clean all &&  yum makecache
[root@c8d84a3be144 /]# yum -y install epel-release[root@c8d84a3be144 /]# read escape sequence
[root@docker1 ~]# docker ps -all
CONTAINER ID   IMAGE           COMMAND       CREATED          STATUS         PORTS     NAMES
c8d84a3be144   centos:latest   "/bin/bash"   30 minutes ago   Up 8 minutes             c0
2、从容器导出tar包
[root@docker1 ~]# docker export -o centos_yum.tar c0  #容器包
[root@docker1 ~]# ls   #查看新生成的tar包
anaconda-ks.cfg  centos.tar#镜像包  centos_yum.tar
3、从tar包导入镜像
docker import -m 说明内容 centos_yum.tar centos:yum[root@docker1 ~]# docker import -m yum centos_yum.tar centos:yum  #生成镜像
4、查看镜像 新的镜像不需要配置yum
[root@docker ~]# docker run -it --name c1 centos:httpd /bin/bash
5、练习 创建一个镜像,包含httpd服务,名称centos版本httpd
[root@ac4bae6c2a0d /]# rm -rf /etc/yum.repos.d/*
[root@ac4bae6c2a0d /]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo[root@ac4bae6c2a0d /]# yum clean all && yum makecache
[root@ac4bae6c2a0d /]# yum -y install httpd[root@ac4bae6c2a0d /]# echo "docker_httpd_server" > /var/www/html/index.html
[root@ac4bae6c2a0d /]# http -k start
[root@ac4bae6c2a0d /]# http -k start[root@ac4bae6c2a0d /]# curl localhost
docker_httpd_server[root@docker ~]# docker export -o centos_yum.tar c0
[root@docker ~]# docker import -m yum centos_yum.tar centos:httpd[root@docker ~]# docker run -it --name c1 centos:httpd /bin/bash
[root@c75fd2f052ea /]# httpd -k start 
[root@c75fd2f052ea /]# curl localhost
docker_httpd_server

[root@docker ~]# docker inspect c1

6、在外部调用指令

[root@docker ~]# docker exec c0 ip a
[root@docker ~]# docker exec c0 ifconfig

7、外部创建文件

[root@docker ~]# docker exec c1 touch /opt/test.txt
[root@docker ~]# docker exec c1 ls /opt/
test.txt

二、总结
1.镜像的迁移
1.打包docker save -o centos.tar centos: latest2.加载docker load -i centos.tar
docker images#停用关闭容器
docker stop c0 c1;docker rm c0 c1
# 删除镜像docker rmi centos:latest
2.创建镜像
1.创建容器docker run -it -- name c0 centos:latest /bin/bash# 下载阿里云仓库
# clean, ,,makecache
ctrl p q2.容器打包docker export -o centos_yum. tar c03.引入镜像docker import -m "update yum repo" centos_yum. tar
centos : yumdocker image ls
3.ip网络
1.交互式docker start c0docker attach c0
yum -y install iproute
ip a2.inspectdocker inspect c03.execdocker exec c0 yum -y install net-tools
docker exec c0 ifconfig
4.端口映射
1.指定端口映射docker run -it -- name c0 -p70:80 centos:httpd
/bin/bash2.随机端口映射docker run -it -- name c1 -p80 centos:httpd
/bin/bash3.指定其他ip的端口映射ifconfig ens33:0 192.168.71.51 broadcast
192.168.71.51 netmask 255.255.255.255 updocker run -it -- name c2 -p192.168.71.51 :: 80
centos:httpd /bin/bash
5.持久化

1.挂载

docker run -it -- name c3 -v /abc:/def centos:httpd
/bin/bashtouch /abc/aaa. txtdocker exec c3 ls /def

这篇关于docker 数据存储(thirty-five day)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1108939

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

docker 重命名镜像的实现方法

《docker重命名镜像的实现方法》在Docker中无法直接重命名镜像,但可通过添加新标签、删除旧镜像后重新拉取/构建,或在DockerCompose中修改配置文件实现名称变更,感兴趣的可以了解一下... 目录使用标签(Tagging)删除旧的php镜像并重新拉取或构建使用docker Compose在Do

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

Redis高性能Key-Value存储与缓存利器常见解决方案

《Redis高性能Key-Value存储与缓存利器常见解决方案》Redis是高性能内存Key-Value存储系统,支持丰富数据类型与持久化方案(RDB/AOF),本文给大家介绍Redis高性能Key-... 目录Redis:高性能Key-Value存储与缓存利器什么是Redis?为什么选择Redis?Red