0
点赞
收藏
分享

微信扫一扫

《docker》 Docker中的Commit镜像与容器数据卷:定制镜像和持久化数据的利器


目录

一、前言

二、Commit镜像

1、定义

2、实战测试

三、容器数据卷使用

1、什么是容器数据卷?

2、使用数据卷

2.1、测试文件的同步

2.2、再来测试

四、使用总结

五、注意事项

一、前言

Docker作为一种轻量级容器技术,提供了许多便捷的功能,包括Commit镜像和容器数据卷。通过这些功能,您可以定制镜像、持久化数据,并在开发和部署过程中获得更多灵活性。本文将深入解析Docker中的Commit镜像和容器数据卷,帮助您更好地理解它们的用途和应用。

二、Commit镜像

1、定义

Commit镜像是指将修改后的容器保存为新的镜像版本。通过Commit,您可以将容器中的变更转化为新的镜像,使您可以定制和管理镜像。下面是一个简单的Commit示例:

# 创建一个容器
docker run -it --name my_container ubuntu:latest


# 在容器内安装新的软件包
apt-get update
apt-get install -y <package_name>


# 提交容器为新镜像
docker commit my_container my_custom_image:latest

2、实战测试

#1、启动一个默认的tomcat

#2、发现这个默认的tomcat 是没有webapps应用,镜像的原因,官方的镜像默认 webapps下面是没有文件的

#3、自己拷贝进去基本文件

#4、将我们操作过的容器通过commit提交为一个镜像。我们以后就使用我们修改过的镜像即可,这就是我们自己的一个基本镜像

《docker》 Docker中的Commit镜像与容器数据卷:定制镜像和持久化数据的利器_数据

学习方式说明:理解概念,但是一定要实践,最后实践和理论相结合一次搞定这个知识

如果你想要保存当前容器的状态,就可以通过commit来提交,获得一个镜像,

就好比我们之前学的VMware中的快照!

三、容器数据卷使用


docker的理念回顾

将应用和环境打包成一个镜像!

数据?如果数据都在容器中,那么我们容器删除,数据就会丢失!需求:数据可以持久化

MySQL,容器删了,删库跑路!需求:MySQL数据可以存储在本地!

容器之间可以有一个数据共享的技术!Docker容器中产生的数据,同步到本地!

这就是卷技术!目录的挂载,将我们容器内的目录,挂载到Linux上面!

《docker》 Docker中的Commit镜像与容器数据卷:定制镜像和持久化数据的利器_持久化_02

总结一句话:容器的持久化和同步操作!容器卷也是可以数据共享的!

1、什么是容器数据卷?

容器数据卷是指将主机文件系统上的目录或文件映射到容器中,从而实现数据在容器和主机之间的共享和持久化。容器数据卷的修改会立即反映在主机上,而且即使容器被删除,数据也会保留。以下是一个简单的容器数据卷示例:

# 创建一个带数据卷的容器
docker run -it --name my_volume_container -v /host/path:/container/path ubuntu:latest


# 在容器中写入数据到数据卷
echo "Hello, Data Volume!" > /container/path/file.txt


# 在主机上查看数据卷内容
cat /host/path/file.txt

2、使用数据卷

方式一:直接使用命令来挂载 -v

docker run -it -v 主机目录,容器内目录


#测试

docker run -it -v /home/ceshi:/home centos /bin/bash

#启动起来时候我们可以通过 docker inspect 容器id

《docker》 Docker中的Commit镜像与容器数据卷:定制镜像和持久化数据的利器_运维_03

2.1、测试文件的同步

《docker》 Docker中的Commit镜像与容器数据卷:定制镜像和持久化数据的利器_docker_04

2.2、再来测试

1、停止容器

2、宿主机上修改文件

3、启动容器

4、容器内的数据依旧是同步的

《docker》 Docker中的Commit镜像与容器数据卷:定制镜像和持久化数据的利器_docker_05

好处:以后修改只需要在本地修改即可,容器内会自动同步!

四、使用总结

  • 使用Commit镜像,您可以将容器中的修改保存为新的镜像版本,方便定制和管理。
  • 使用容器数据卷,您可以在容器和主机之间实现数据的共享和持久化,确保数据不会因为容器的删除而丢失。

五、注意事项

  • 尽量避免频繁使用Commit镜像,最好通过Dockerfile来管理镜像的构建过程。
  • 在使用容器数据卷时,务必注意数据的一致性和安全性,避免数据泄露或损坏。

 

举报

相关推荐

0 条评论