2024年8月23日(docker 数据存储)

1、打包

root@docker1 \~\]# docker save -o centos.tar centos:latest ![](https://i-blog.csdnimg.cn/direct/58757544a11f438a96456ddc868becf5.png) \[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: latest > > **2.加载** > > 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 q > > **2.容器打包** > > docker export -o centos_yum. tar c0 > > **3.引入镜像** > > docker import -m "update yum repo" centos_yum. tar > > centos : yum > > docker image ls ##### 3.ip网络 > **1.交互式** > > docker start c0 > > docker attach c0 > > yum -y install iproute > > ip a > > **2.inspect** > > docker inspect c0 > > **3.exec** > > docker exec c0 yum -y install net-tools > > docker exec c0 ifconfig ##### 4.端口映射 > **1.指定端口映射** > > docker run -it -- name c0 -p70:80 centos:httpd > > /bin/bash > > **2.随机端口映射** > > docker run -it -- name c1 -p80 centos:httpd > > /bin/bash > > **3.指定其他ip的端口映射** > > ifconfig ens33:0 192.168.71.51 broadcast > > 192.168.71.51 netmask 255.255.255.255 up > > docker 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/bash > > touch /abc/aaa. txt > > docker exec c3 ls /def

相关推荐
Sheffield7 小时前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield15 小时前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
马艳泽16 小时前
win10下运行Start Broker and Proxy报错解决
docker
舒一笑1 天前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
NineData1 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
用户13573999256602 天前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
vi_h2 天前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔2 天前
通过 Docker 创建开发环境
docker·开发环境
冬奇Lab2 天前
一天一个开源项目(第41篇):Workout.cool - 现代化开源健身教练平台,训练计划与进度追踪
docker·开源·资讯
梦想很大很大2 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go