分享

Docker_docker容器删除后数据还在吗

 宇宙之窗 2023-07-13 发布于福建

目录

Docker

一:初识Docker

docker概念

Docker架构

二:Docker命令

Docker进程相关命令

Docker 镜像相关命令

Docker容器相关命令

三:Docker容器数据卷

Docker的数据卷

配置数据卷

eg:

数据卷容器

配置数据卷容器

eg:

数据卷小结

四:Docker应用部署

MySQL部署

Tomcat部署

五:Dockerfile

Docker镜像原理

镜像制作:

1.容器转化为镜像(了解即可)

Dockerfile案例-发布SprinBoot项目:

Dockerfile案例-自定义Centos:

六:Docker compose

服务编排

七:Docker私有仓库的使用

步骤演示:

(1) 创建一个私有仓库

(2)将镜像上传到私有仓库

(3) 从私有仓库中拉取镜像

八:Docker容器虚拟化与传统虚拟机比较

九:部署一个镜像容器的流程【实用 重要】


Docker

一:初识Docker

docker概念

docker是一种容器技术,它解决了软件跨环境迁移的问题

Docker架构

二:Docker命令

Docker进程相关命令

Docker 镜像相关命令

eg:

删除镜像也可以使用命令:docker rmi REPOSITORY值:TAG值

镜像的id号即是IMAGE ID

Docker容器相关命令

eg:

三:Docker容器数据卷

Docker的数据卷

数据卷即是宿主机中创建的目录,和容器是一个等级的。

分析思考的三个问题:

(1) Docker 容器删除之后,在容器中的数据就丢失了,但是我们可以使用数据卷进行保留一份容器中的数据,这样就等效于我们还有一份

容器的数据

(2) Docker容器不可以和外部机器进行交互,但是容器对应的其宿主机是可以和外部机器交互作用的:

(3) 容器之间需要进行数据交互?

多个容器之间可以进行数据交互,当多个容器进行挂载同一个数据卷的时候,就可以实现各个容器中的数据是互通的 !达成了数据交互

的情况 。那么一个容器修改数据,那么数据卷中的数据立即变化,那么另外一个挂载的容器中的数据也会随之变化,这就是容器之间的

数据交互情况 !

配置数据卷

eg:

窗口1:

解释图中的文字:宿主机目录即是数据卷,和容器是一个等级的。容器内目录 即是进入容器后的文件目录

窗口2:

窗口1:

窗口2:

即使容器c1被删除 但是之前挂载在c1上的数据卷交互得到的数据依旧还是存在的 !

窗口1:

数据卷容器

配置数据卷容器

eg:

容器1:

窗口2:

窗口1:

验证上一张图的②:

数据卷小结

1.数据卷概念:宿主机的一个目录或文件

2.数据卷作用:

使容器数据持久化不丢失

客户端和容器数据交换

容器之间数据交换

3.数据卷容器:

创建一个容器,挂载一个数据卷(即是宿主机的一个目录或文件),让其他容器继承该容器

通过简单方式实现数据卷配置

四:Docker应用部署

MySQL部署

Tomcat部署

具体步骤见文档:docker应用部署

五:Dockerfile

Docker镜像原理

三个问题:

镜像制作:

1.容器转化为镜像(了解即可)

eg1:(了解即可)

eg2:(了解即可)

Dockerfile案例-发布SprinBoot项目:

案例演示:

(1)

(2)

(3)

(4)

通过名称app 进行运行该项目,并且指定端口号映射,暴露给外界 供外界访问的端口号为9000

Dockerfile案例-自定义Centos:

eg:

接下来进行自定义一个Centos:

(1) 创建文件目录 并且创建文件进行修改

(2) 进行创建自定义centos,名字为:leomessi_centos,id号为1 版本号默认为latest

六:Docker compose

服务编排

步骤演示:

(1)

(2)

七:Docker私有仓库的使用

步骤演示:

(1) 创建一个私有仓库

# 1、拉取私有仓库镜像 
docker pull registry
# 2、启动私有仓库容器 
docker run -id --name=registry -p 5000:5000 registry
# 3、打开浏览器 输入地址http://私有仓库服务器ip:5000/v2/_catalog,看到{"repositories":[]} 表示私有仓库 搭建成功
# 4、修改daemon.json   
vim /etc/docker/daemon.json   

5."insecure-registries":["私有仓库服务器ip:5000"] 把这句话加入到配置文件中

6.

# 重启docker 服务 
systemctl restart docker
#重启私有仓库的镜像
docker start registry

(2)将镜像上传到私有仓库

# 1、标记镜像为私有仓库的镜像     
docker tag centos:7 私有仓库服务器IP:5000/centos:7
 
# 2、上传标记的镜像     
docker push 私有仓库服务器IP:5000/centos:7

(3) 从私有仓库中拉取镜像

八:Docker容器虚拟化与传统虚拟机比较

九:部署一个镜像容器的流程【实用 重要】

1.搜索redis镜像

docker search redis

2.拉取redis镜像 如果不指定版本号 默认使用最新的版本号latest

docker pull redis:5.0

3.创建容器,设置端口映射 (一般都使用默认端口号 映射的适合其实就是互相映射默认的端口号即可)

docker run -id --name=c_redis -p 6379:6379 redis:5.0

4.使用外部机器连接redis

5.但是过了一段时间之后,该镜像对应的容器自动停止了 这时候该怎么办?

第一步:查看redis对应容器的名称

第二步:利用容器的名称进行启动对应的容器

docker start c_redis

连接成功:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约