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

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: 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

相关推荐
Escalating_xu4 小时前
【Linux 网络编程】手写序列化与反序列化:从 x op y 到能校验的文本协议
linux·运维·网络
润滑卫士4 小时前
油液多参数融合故障诊断:数据级融合与决策级融合方法
运维
李纲明6 小时前
WordPress 后台登录马上被踢回登录页:Cookie 域、HTTPS、盐值和页面缓存怎么查
运维·缓存·https·php·wordpress·cookie
todoitbo6 小时前
在 Ubuntu ARM64 上运行 Q1 V3.0 MuJoCo 模型:加载、步进和单执行器响应
linux·运维·ubuntu·ai·机器人·仿真教程·启元
AR-26710-6 小时前
Linux Day26——传输层与三次握手
linux·运维
额额额对了7 小时前
嵌入式 Linux 实战:i.MX6ULL 上的 CAN 通信与摄像头采集
linux·运维·服务器
RFID科技的魅力8 小时前
2026 年 RFID 资产标签批量制作怎么做?RFID 标签打印机实操指南
运维·人工智能·嵌入式硬件·物联网
灯澜忆梦8 小时前
【Linux】#10 | Linux 终端实用快捷键 + 安装应用
linux·运维·服务器
OnlyEasyCode10 小时前
IIS开放端口转发后端
运维·服务器
合合技术团队11 小时前
合合信息旗下TextIn面向全球市场推出文档处理自动化公有云服务
运维·自动化